SQL- Top N 쿼리

박현·2022년 10월 23일
0

SQL

목록 보기
24/34

ROWNUM 슈도 컬럼

: Oracle의 ROWNUM은 컬럼과 비슷한 성격의 Pseudo column으로서 SQLㅊ처리 결과 집합의 각 행에 대해 임시로 부여되는 일련번호이다.

테이블이나 집합에서 원하는 만큼의 행만 가져오고 싶을때 WHERE절에서 행의 개수를 제한하는 목적으로 사용한다.

순위가 높은 N개의 로우를 출력하기 위해 ORDER BY절과 WHERE절의 ROWNUM조건을 같이 사용하는 경우가 있다. 이 두 조건으로는 원하는 결과를 얻을 수 없다. Oracle의 경우 데이터의 일부가 먼저 추출된 후 데이터에 대한 정렬 작업이 일어나므로 주의해야한다.

사원테이블에서 급여가 높은 3명만 내림차순으로 출력

입력✏️

SELECT ENAME
	  , SAL
 FROM (SELECT ENAME, SAL
 		 FROM EMP
       ORDER BY SAL DESC)
WHERE ROWNUM <= 3;

출력💻

TOP 절

: SQL Server는 TOP절을 사용해 결과 집합으로 행의 수를 제한할 수 있다.

0개의 댓글