오라클로 구현된 아래 두 쿼리를 PostgreSQL 쿼리로 바꿔보겠습니다.
SELECT * FROM EMP WHERE ROWNUM <=3;
SELECT * FROM (SELECT * FROM EMP ORDER BY SAL) WHERE ROWNUM <=3;
-- 대응되는 PostgreSQL 쿼리
SELECT * FROM EMP LIMIT 3;
SELECT * FROM EMP ORDER BY SAL LIMIT 3;
empno | ename | job | mgr | hiredate | sal | comm | deptno
-------+-------+-------+------+------------+------+------+--------
7369 | SMITH | CLERK | 7902 | 1980-12-17 | 800 | NULL | 20
7900 | JAMES | CLERK | 7698 | 1981-12-03 | 950 | NULL | 30
7876 | ADAMS | CLERK | 7788 | 1983-01-12 | 1100 | NULL | 20
여기서 주의할점은 ORDER BY 후에 LIMIT 연산자가 적용된다는 점입니다.
참고로 상용버전(PPAS , Postgres Plus Advanced Server) 사용자는, ROWNUM 쿼리 즉, 오라클 쿼리 그대로 사용할수 있습니다.