ROWNUM
: ROWNUM이란 WHERE까지를 만족시킨 자료에 붙는 순번이라고 할 수 있다.
[따라하기]
TEMP의 자료를 SELECT 할때 ROWNUM을 붙여보자.
SELECT ROWNUM, EMP_ID,EMP_NAME
FROM TEMP
WHERE EMP_ID > 0
AND LEV ='수습';
이번에는 위의 조건에 ROWNUM과 관련된 조건을 붙여보자.
SELECT ROWNUM, EMP_ID, EMP_NAME
FROM TEMP
WHERE EMP_ID > 0
AND LEV='수습'
AND ROWNUM < 5;
! ROWNUM과 관련하여 주어지는 조건은 다른 조건을 만족시킨 후의 결과를 이용해 이루어진다는 것을 확인 할 수 있을 것이다.
<잠깐만~!>
ROWNUM과 관련하여 주거지는 조건이 =, > 또는 >=로 주어지면, 원하는 결과가 나오지 않는다는 것을 명심할것
[따라하기]
ROWNUM을 SELECT 할 때 ORDER BY가 되면 결과가 어떻게 되는지 알아보자
SELECT ROWNUM, EMP_ID, EMP_NAME
FROM TEMP
WHERE EMP_ID >0
AND LEV = '수습'
AND ROWNUM < 5
ORDER BY EMP_NAME;
결과를 통해 확인할 수 있듯이 ORDER BY 후에 ROWNUM이 붙는 것이 아니고, 조건 절을 만족시킨 행들에 ROWNUM 이 붙은 후 ORDER BY가 이루어졌다는 것을 알 수 있다.
알아두기~
ROWNUM을 조건으로 사용할 때
: ROWNUM을 조건에서 사용할 때는 항상 < 또는 <=를 이용한다. 예외적으로 1과 비교할때는 = 로 비교할 수 있다.
예를들어 조건 절을 만족하는 자료에 붙은 ROWNUM을 기준으로 1에서 10까지를 가져오고 싶으면 ROWNUM<=10 또는 ROWNUM<11 처럼 조건이 주어진다.
'oracle' 카테고리의 다른 글
데이터 관계 일대일,일대다, 다대다 (0) | 2013.10.31 |
---|---|
DECODE (0) | 2013.10.31 |
ANY, ALL,EXISTS 사용 예 (0) | 2013.10.24 |
서브쿼리(SINGLE ROW 서브쿼리,MULTI ROW 서브쿼리) (0) | 2013.10.23 |
SELF JOIN (1) | 2013.10.21 |