15. ORACLE [ROWNUM 그리고 행을 제한하기]

over_horizon_dev·2024년 2월 1일
0

ORACLE SQL

목록 보기
15/16
post-thumbnail

1.ROWNUM

1-1. ROWNUM QUERY


  • 1-5 까지는 잘 나옴
    SELECT * FROM TABLE WHERE ROWNUM BETWEEN 1 AND 5;

  • 근데 6-10 까지는 안나옴?
    SELECT * FROM TABLE WHERE ROWNUM BETWEEN 6 AND 10;

1-2. ROWNUM 쓸때 1~5

  • 비교 대상이 ROWNUM이기때문에 맞음

1-3. ROWNUM 쓸때 6~10

  • TABLE구조와 상관없이 ROWNUM은 1이 고정이어서 이건 5보다 크지 않다고 인식함(그래서 안뜸)

1-4. 해결방법

  • 결과집합 생성시 말고 미리 일련번호를 만들어 놓자
  • 첫단계 - SELECT를 ROWNUM과 함께 해준다

SELECT ROWNUM,NOTICE.* FROM NOTICE;(두개 붙어있는 테이블 가능.

  • 그리고 다시 SELECT 해주는데 이때 ROWNUM을 또 구하면 다시 1부터 찾으므로

SELECT FROM (SELECT ROWNUM AS NUM,NOTICE. FROM NOTICE)

WHERE NUM BETWEEN 6 AND 10;

이렇게 하면 됨

profile
지평선 너머로!

0개의 댓글

관련 채용 정보