반응형
ROWNUM
- WHERE 절에 의해 의해 추출된 DATA SET에 ROW 단위로 붙는 순번
- 조회되는 행 수를 제한할 때 많이 사용된다.
- ROWNUM에는 '=, >, >='를 조건으로 줄 수 없다.
- ROWNUM에 부여할 수 있는 조건은 '<', '<='이고,
예외적으로 1과 비교할 때 '='를 사용할 수 있다. - ROWNUM을 사용해 '1'외에 다른 정수와 같거나,
특정 정수보다 큰 수를 조건으로 주고 싶다면 '인라인 뷰'를 사용해야 한다. - ROWNUM을 사용하고 ORDER BY를 사용하면,
ROWNUM 결과에 ORDER BY 조건을 부여한 결과가 나온다.
정리된 내용을 예제를 활용해 어떤 내용인지 확인해보겠습니다.
예제
- TEMP 테이블에서 직급이 '수습'인 컬럼에 ROWNUM을 붙여보자
- 1번 테이블에 ROWNUM이 5 아래인 테이블을 조회해보자
- 2번 테이블에 ROWNUM이 5 이상인 테이블을 조회해보자
앞서 말했 듯, 실행 결과 데이터가 조회되지 않는다. - 3번 테이블에 인라인 뷰를 활용해 문제를 해결해보자
다음과 같이, 새로운 ROWNUM을 인라인 뷰를 사용해 부여하고,
인라인 뷰에서 생성된 ROWNUM에 별칭을 부여하면 범위를 지정하는 것이 가능해진다. - 2번 테이블에 ORDER BY를 사용해보자
부여된 ORDER BY 조건에 의해 다시 정렬된다. - ROWNUM을 사용해 TEMP 테이블의 EMP_ID와 EMP_NAME의
SELECT 결과를 3개씩 묶어 하나의 번호를 부여해보자
CEIL 함수를 사용해 ROWNUM을 N개씩 묶는 것이 가능하다.
반응형
'내가 공부하려고 올리는 > DB' 카테고리의 다른 글
오라클 - 윈도우(Window) 함수 (0) | 2021.11.18 |
---|---|
오라클 - 계층형 쿼리(Hierachical Select) 알아보기 (0) | 2021.11.17 |
오라클 - 서브쿼리 알아보기 (0) | 2021.11.17 |
오라클 - MIN 함수 실습(서브쿼리 대신 하기) (0) | 2021.11.16 |
오라클 - 조인(JOIN) 정리해보기 (0) | 2021.11.16 |
댓글