본문 바로가기

oracle

ROWNUM

반응형

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