상세 컨텐츠

본문 제목

[SQL 전문가 가이드] TOP(N) 쿼리, ROWNUM 조건

공부/DB

by 비렴 2022. 9. 5. 09:00

본문

1. SQL Server의 TOP(N)와 Oracle의 ROWNUM
   데이터 정렬 후 원하는 데이터를 출력하는 쿼리
   TOP(N) [PERCENT] [WITH TIES]
   SELECT [컬럼명] FROM [인라인뷰] WEHRE ROWNUM [조건]; 
    * FROM절에 인라인뷰를 사용하는 이유는 ORDER BY로 할 경우 WHERE이 먼저 수행되므로
      정렬 후 원하는 데이터를 얻기 힘들다.

사원 테이블에서 급여가 높은 2명을 내림차순으로 출력한다(SQL Server)
SELECT TOP(2) WITH TIES ENAME, SAL
FROM EMP
ORDER BY SAL DESC;
사원 테이블에서 급여가 높은 2명을 내림차순으로 출력한다(Oracle)
SELECT ENAME, SAL 
FROM (SELECT ENAME, SAL
             FROM EMP
             ORDER BY SAL DESC)
WHERE ROWNUM < 4;

 

관련글 더보기