Oracle에서 ROWNUM
사용법
1. ROWNUM이란?
ROWNUM
은 Oracle 데이터베이스에서 결과 집합에 행 번호를 부여하는 가상 열입니다. 쿼리 결과의 행 순서를 기준으로 번호를 매기며, 주로 데이터 제한 및 필터링에 사용됩니다.
2. 주요 특징
ROWNUM
은 항상 1부터 시작하며, 행이 출력될 때 순차적으로 번호를 매깁니다.
- 쿼리 실행 순서와 밀접하게 연관되어 있으며, 특정 조건과 함께 사용할 때 주의가 필요합니다.
3. 기본 사용법
SELECT ROWNUM, EMPLOYEE_ID, NAME
FROM EMPLOYEES;
4. WHERE 조건과 ROWNUM
ROWNUM
을 활용해 결과를 제한할 수 있습니다:
SELECT *
FROM EMPLOYEES
WHERE ROWNUM <= 5;
5. ROWNUM과 주의사항
ROWNUM
조건은 결과가 출력되는 순서에 따라 적용됩니다.
SELECT *
FROM EMPLOYEES
WHERE ROWNUM > 5;
위 쿼리는 원하는 결과를 반환하지 않을 수 있습니다. 해결하려면 서브쿼리를 사용하세요:
SELECT *
FROM (
SELECT EMPLOYEE_ID, NAME, ROWNUM AS RN
FROM EMPLOYEES
)
WHERE RN > 5;
6. ROWNUM과 ORDER BY
ROWNUM
을 사용할 때 ORDER BY
와 함께 사용하는 경우, ROWNUM
이 먼저 적용되므로 정렬된 결과와 일치하지 않을 수 있습니다.
SELECT *
FROM (
SELECT EMPLOYEE_ID, NAME
FROM EMPLOYEES
ORDER BY SALARY DESC
)
WHERE ROWNUM <= 3;
위 쿼리는 급여(SALARY)가 높은 상위 3명의 직원 정보를 반환합니다.