티스토리 뷰
ROWNUM은 검색문을 통해서 임시테이블을 만들때 각 튜플에 번호를 매겨주는것으로
select 문을 사용한 데이터의 출력시 원하는 구간의 데이터 (ex. 페이징) 만을 출력하고 싶은경우 사용한다.
ROWNUM의 장점은 원하는 구간만을 잘라서 데이터를 가져오므로 모든 데이터를 순회할 필요없어
프로그램의 성능적 향상을 가져올 수 있다는 이점이 있다.
이때 ROWNUM을 사용할때 주의할것은 단순히 where 절에서 사용할 경우엔 첫번째 컬럼부터
순서를 매겨서 컬럼을 검색해서 가져오므로 문제가 없지만,
// ex
select *
from 테이블명
where rownum < 5;
// 출력
// 1 번째부터 4번째 튜플 출력
서브쿼리를 사용해 order by로 나름의 정렬후 조건문에서 특정 구간만을 가져오려할 경우엔
select 문의 진행순서를 고려해서 쿼리를 작성해야한다.
order by 절이 select 절보다 나중순서로 진행되므로 rownum이 order by 절이 들어간 쿼리보다
상위의 쿼리에 위치해 있어야 원하는 데이터만 가져올수 있다.
// ex
select t.*
from ( select from 테이블명 order by 정렬기준 컬럼 desc) t
where rownum < 5;
// 출력 예시
// 정렬기준으로 정렬한 튜플 4개 출력