DataBase/Oracle

[Oracle Database] Rownum구문 사용법

mongyang 2013. 2. 13. 15:09

일을 하다가 최대 Row가 130인 컬럼에 100개만 반환해달라는 요청을 받았다. 


즉, 일반적으로 SELECT를 하면 130개의 ROW가 결과로 반환되는데 그 중에서 100개만 

전달해달라는 요청이었는데. 이와 같은 경우에 사용할 수 있는 유용한 명령어(?), 함수(?)가

오라클에 있다. 다른 SQL에도 있을꺼 같은데. 일단 귀찮으니 패스. 나중에 꼭 찾아보자. 


 ROWNUM 


1. 오라클 에서만 사용가능.

2. 조회된 Row의 number를 가지는 가상의 컬럼

3. 주로 paging처리, N-Top 조회시 사용. 


 위의 요청의 경우는 

 SELECT * FROM 테이블 WHERE ROWNUM <= 100 ORDER BY 컬럼 ASC

 정도로 해주면 되겠다.


 N-Top 처리의 예는 

 SELECT * FROM 테이블 WHERE ROWNEM = N ORDER BY 컬럼 ASC

 이리하면 N 번째 ROW를 반환한다.