例えば、左のような EMP テーブルがあったとします。このデータから、EMPNO の大きい方から2行を取得したいわけですよ。 これが MySQL や PostgreSQL なら、 select * from EMP order by EMPNO desc limit 2 で一発というシュチュエーションです。 さて、じゃぁ Oracle ではどうやるんだ? て話しなんですが、ROWNUM というカラム(?)を使います。上記の SQL を Oracle 用に書き直すと、 select ROWNUM, EMPNO, ENAME from ( select EMPNO, ENAME from EMP order by EMPNO desc ) where ROWNUM<=2 となり、帰ってくる結果は