우선 ROWNUM 1~10까지 출력
SELECT *
FROM(
SELECT
ROWNUM,
N.*
FROM (SELECT * FROM NOTICE ORDER BY REGDATE DESC) N
)
WHERE ROWNUM BETWEEN 1 AND 10;
다음 페이지 분리를 위해서 서브쿼리
-- ROWNUM 11~20 페이징
-- MEMBER에 NAME 칼럼을 (MN으로 별칭써서) 추가 = JOIN
SELECT *
FROM(
SELECT
ROWNUM NUM,
N.*
FROM (
SELECT NOTICE.*, MEMBER.NAME MN
FROM NOTICE LEFT JOIN MEMBER
ON MEMBER.ID = NOTICE.WRITER_ID
ORDER BY NOTICE.REGDATE DESC
) N
)
WHERE NUM BETWEEN 11 AND 20;
-- ROWNUM 21~30 페이징
SELECT *
FROM (
SELECT
ROWNUM NUM,
N.*
FROM (
SELECT NOTICE.*, MEMBER.NAME MN
FROM NOTICE LEFT JOIN MEMBER
ON MEMBER.ID = NOTICE.WRITER_ID
ORDER BY NOTICE.REGDATE DESC
) N
)
WHERE NUM BETWEEN 21 AND 30;
반응형
'Web programming > SQL & DB' 카테고리의 다른 글
[ORACLE SQL] 데이터 조회 기본 문법 !! (0) | 2020.05.08 |
---|---|
JOIN (0) | 2020.04.17 |
집합 연산자로 데이터 레코드를 합하여 출력 (UNION, UNION ALL, INTERSECT, MINUS) (0) | 2020.04.16 |
DISTINCT 절과 GROUP BY 절의 차이 (0) | 2020.04.16 |
ROWNUM / OUDER BY / 순위를 반환하는 함수 ROW_NUMBER, RANK, DENSE_RANK (0) | 2020.04.13 |