오라클 로우넘(ORACLE ROWNUM) 이란?
SELECT절에 의해 추출된 데이터(ROW)에 붙는 순번이다. 다시 말해 WHERE절까지 만족 시킨 자료에
붙은 순번이라고 이해를 하길 바란다. WHERE절에 ROWNUM을 이용하여 조건을 주면 다른 조건을 만족시킨 결과에 대해 조건이 반영된다.
SELECT 리스트에 ROWNUM을 이용하는 것도 물론 가능하다. 이때 ORDER BY를 사용한다면 WHERE절까지 만족 시킨 결과에
ROWNUM이 붙은 상태로 ORDER BY가 반영된다. 아래의 예문을 이해하자.
SQL> select rownum, ename, sal from emp
2 where sal >= 2900;
ROWNUM ENAME SAL
---------- ---------- ----------
1 JONES 2975
2 SCOTT 3000
3 KING 5000
4 FORD 3000
SQL> select rownum, ename, sal from emp
2 where sal > 2900
3 order by ename;
ROWNUM ENAME SAL
---------- ---------- ----------
4 FORD 3000
1 JONES 2975
3 KING 5000
2 SCOTT 3000
SQL> select rownum, ename, sal from emp
2 where sal >= 2900
3 and rownum < 3;
ROWNUM ENAME SAL
---------- ---------- ----------
1 JONES 2975
2 SCOTT 3000
SQL> select rownum, ename, sal from emp
2 where sal >= 2900;
ROWNUM ENAME SAL
---------- ---------- ----------
1 JONES 2975
2 SCOTT 3000
3 KING 5000
4 FORD 3000
SQL> select rownum, ename, sal from emp
2 where sal > 2900
3 order by ename;
ROWNUM ENAME SAL
---------- ---------- ----------
4 FORD 3000
1 JONES 2975
3 KING 5000
2 SCOTT 3000
SQL> select rownum, ename, sal from emp
2 where sal >= 2900
3 and rownum < 3;
ROWNUM ENAME SAL
---------- ---------- ----------
1 JONES 2975
2 SCOTT 3000
댓글 없음:
댓글 쓰기