Oracle 전용 절 및 함수
✒️ 2025-06-02 14:46 내용 수정
1. ROWNUM
- 테이블에서 조회한 행의 순서를 나타내는 숫자를 반환하며, 출력되는 행의 수를 제한할 때 사용할 수 있다.
- 참고 자료 : Oracle ROWNUM
- ROWNUM과 ORDER BY가 같은 절에 존재할 땐 쿼리문이 모두 실행되기 전의 원 데이터 정렬 순서대로 번호를 매겨 그 값으로 반환한다.
- 따라서 의도한 데이터가 나오지 않을 수 있기 때문에 ORDER BY 절을 서브 쿼리로 감싼 후 ROWNUM 쿼리를 수행(top-N reporting) 해야 한다.
- ROWNUM의 조건을 양의 정수 이상으로 하면 모든 행이 조건을 만족하지 않으므로 반환값이 없다.
-- 원본 테이블에서 9개를 가져오고 조건대로 정렬한다.
-- 조건이 어떤지에 따라 아래의 쿼리문과 결과값이 매우 달라질 수 있다.
SELECT * FROM 테이블명
WHERE ROWNUM < 10
ORDER BY 컬럼명;
-- top-N reporting
-- 정렬한 테이블에서 9개의 데이터를 가져온다
SELECT * FROM
( SELECT * FROM 테이블명
ORDER BY 컬럼명
)
WHERE ROWNUM < 10;