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 할 데이터가 없어서 아무 값도 가져오지 못하게 되는것.
오라클 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 |
댓글 영역