상세 컨텐츠

본문 제목

오라클 ROWNUM

프로그래밍/Oracle

by ........? 2012. 4. 19. 17:48

본문

ROWNUM

 

http://beyondtop.egloos.com/10634912

-실제 컬럼이 아닌 가상 컬럼

-숫자 1,2,3,4,5,6,,....N 의 값이 할당 (N은 레코드수)

-영구적으로 할당되는게 아님

-ROWNUM은 참조할수없다 => ROW 5 처럼 요청할 수 없다

-쿼리의 조건절이 처리되고 난 후, SORT/AGGREGATION 이 수행되기 이전에 할당

-값이 할당되고 난 후에는 증가만 한다.

 

1. SELECT * FROM TABLE1
        WHERE ROWNUM >=1  AND ROWNUM <=20;


2. SELECT * FROM TABLE1
        WHERE ROWNUM >=10  AND ROWNUM <=20;

1번은 결과값 나온다. 2번은 안나온다.

이유는 쿼리가 실행될 때 WHERE 부분이 먼저 실행한다.

SELECT 하기 전에 ROWNUM 이 발생하지 않기 때문에 ROWNUM 할 데이터가 없어서 아무 값도 가져오지 못하게 되는것.

 

'프로그래밍 > Oracle' 카테고리의 다른 글

오라클 DECODE  (0) 2012.05.08
오라클 DBMS_RANDOM.VALUE  (0) 2012.04.23
오라클 LIKE & ESCAPE  (0) 2012.04.23
오라클 쿼리 실행순서 & 그룹함수 실행순서  (1) 2012.04.20
오라클 Primary Key & Unique Key  (0) 2012.04.18

관련글 더보기

댓글 영역