반응형
이번 글은 MYSQL의 TOP과 ORACLE의 ROWNUM
그리고 ROWNUM과 ORDER BY에 대한 정리
1. TOP은 속도도 빠르고 문법도 매우 쉬움
SELECT TOP(10) FIRST_NAME, JOB_ID
FROM HR.EMPLOYEES
ORDER BY SALARY
2. 정렬된 데이터 중 10개를 선택
SELECT FIRST_NAME, JOB_ID
FROM ( SELECT FIRST_NAME, JOB_ID FROM HR.EMPLOYEES ORDER BY SALARY)
WHERE ROWNUM <= 10;
3. 얼핏 보면 정렬된 데이터 10개로 보이지만 SELECT -> ORDER BY 순으로 실행되기 때문에
매우 높은 확률로 실행 결과는 10개가 아니다.
SELECT FIRST_NAME, JOB_ID
FROM ( SELECT FIRST_NAME, JOB_ID, ROWNUM RN FROM HR.EMPLOYEES ORDER BY SALARY)
WHERE RN <= 10;
반응형
'백엔드 > SQLD' 카테고리의 다른 글
NULL과 관련된 규칙들 (0) | 2020.11.25 |
---|---|
외울거 정리 (0) | 2020.11.25 |
DDL, DML, DCL, TCL (0) | 2020.11.23 |
SAVEPOINT, ROLLBACK (0) | 2020.11.22 |
제약조건[CHECK] (0) | 2020.11.22 |
댓글