설문조사
PostgreSQL/PPAS 관련 듣고 싶은 교육은


Powered by EnterpriseDB
총 게시물 89건, 최근 0 건
   

오라클 ROWNUM 대체 기능

글쓴이 : PostgresDBA 날짜 : 2012-12-02 (일) 15:48 조회 : 8060
오라클로 구현된 아래 두 쿼리를 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
(3 rows)

여기서 주의할점은 ORDER BY 후에 LIMIT 연산자가 적용된다는 점입니다.

참고로 상용버전(PPAS , Postgres Plus Advanced Server) 사용자는, ROWNUM 쿼리 즉, 오라클 쿼리 그대로 사용할수 있습니다.

   

postgresdba.com