2014/08/15 - [DB/MySQL] - MySQL LIMIT를 사용하여 페이징쿼리를 동작시켜보자
2014/08/15 - [DB/MSSQL] - MS-SQL 2005 이상 row_number() over(order by 정렬조건) 을 이용하여 페이징쿼리를 동작시켜보자
이번에는 ORACLE의 rownum 을 이용하여 페이징 처리를 다루도록 보도록 하자
1. create table 생성
CREATE TABLE PAGE_TABLE ( "IDX" NUMBER, "TITLE" VARCHAR2(100), "CONTENT" VARCHAR2(200) )
2. 가상의 데이터 IMPORT
그렇다면 이제 페이징 테스트를 해보도록 하겠음.
각 페이징 처리를 할때마다 20개씩 출력해보도록 하겠다.
쿼리는 다음과 같다.
-- 1페이지 select * from (SELECT * FROM ( SELECT rownum rnum,idx,title,content FROM page_table ) pagetable where rnum <= 20 ) where rnum >= 1; -- 2페이지 select * from (SELECT * FROM ( SELECT rownum rnum,idx,title,content FROM page_table ) pagetable where rnum <= 40 ) where rnum >= 21; . . . -- 5페이지 select * from (SELECT * FROM ( SELECT rownum rnum,idx,title,content FROM page_table ) pagetable where rnum <= 100 ) where rnum >= 81;
3, 실 행 하 기
1페이지
2페이지
5페이지
ROWNUM
쉽게 생각해서 테이블 데이터아 rownum이라는 컬럼을 추가해서 1부터 출력된 테이블의 갯수를
순차적으로 증가 시켜주는거라고 생각하면 될것이다.
도움이 되셨다면 공감클릭! 궁금하신점은 댓글!!
Oracle - if ~ else 조건문 사용하기 : DECODE (0) | 2014.08.24 |
---|---|
오라클 - 널체크(NVL 사용하기) (0) | 2014.08.23 |
오라클(Oracle) 데이터를 일괄로 다른테이블에 INSERT 하기 (INSERT INTO ... SELECT ... FROM ...) (2) | 2014.08.13 |
오라클 계층형 트리구조 쿼리 (재귀호출) - START WITH .. CONNECT BY PRIOR (0) | 2014.08.12 |
오라클(Oracle) sequence 생성, 등록, 최종 시퀀스값 조회하기 (2) | 2014.08.11 |