본문 바로가기
내가 공부하려고 올리는/DB

오라클 - ROWNUM 쉽게 알아보기

by 결딴력 2021. 11. 17.
반응형

 

ROWNUM

  • WHERE 절에 의해 의해 추출된 DATA SET에 ROW 단위로 붙는 순번
  • 조회되는 행 수를 제한할 때 많이 사용된다.
  • ROWNUM에는 '=, >, >='를 조건으로 줄 수 없다.
  • ROWNUM에 부여할 수 있는 조건은 '<', '<='이고,
    예외적으로 1과 비교할 때 '='를 사용할 수 있다.
  • ROWNUM을 사용해 '1'외에 다른 정수와 같거나,
    특정 정수보다 큰 수를 조건으로 주고 싶다면 '인라인 뷰'를 사용해야 한다.
  • ROWNUM을 사용하고 ORDER BY를 사용하면,
    ROWNUM 결과에 ORDER BY 조건을 부여한 결과가 나온다.

 

 

정리된 내용을 예제를 활용해 어떤 내용인지 확인해보겠습니다.

 

 

예제

  1. TEMP 테이블에서 직급이 '수습'인 컬럼에 ROWNUM을 붙여보자
    실행 결과
  2. 1번 테이블에 ROWNUM이 5 아래인 테이블을 조회해보자
    실행 결과
  3. 2번 테이블에 ROWNUM이 5 이상인 테이블을 조회해보자
    실행 결과
    앞서 말했 듯, 실행 결과 데이터가 조회되지 않는다.

  4. 3번 테이블에 인라인 뷰를 활용해 문제를 해결해보자
    실행 결과
    다음과 같이, 새로운 ROWNUM을 인라인 뷰를 사용해 부여하고,
    인라인 뷰에서 생성된 ROWNUM에 별칭을 부여하면 범위를 지정하는 것이 가능해진다.


  5. 2번 테이블에 ORDER BY를 사용해보자
    실행 결과
    부여된 ORDER BY 조건에 의해 다시 정렬된다.


  6. ROWNUM을 사용해 TEMP 테이블의 EMP_ID와 EMP_NAME의
    SELECT 결과를 3개씩 묶어 하나의 번호를 부여해보자
    실행 결과
    CEIL 함수를 사용해 ROWNUM을 N개씩 묶는 것이 가능하다.

 

반응형

댓글