-- limit
SELECT * FROM tbl_menu;
-- 1행부터 5개의 메뉴 행 조회
SELECT
*
FROM tbl_menu
LIMIT 0, 5; -- Limit 시작 인덱스, 시작 인덱스부터 조회할 행의 갯수
-- 6행부터 5개의 메뉴 행 조회
SELECT
*
FROM tbl_menu
LIMIT 5, 5;
-- Limit의 offset 생략 시
SELECT
*
FROM tbl_menu;
SELECT
*
FROM tbl_menu
-- LIMIT 5;
LIMIT 0, 5;
-- limit을 자주 쓰진 않지만 이후 TOP-N 분석이나 paging 처리를 할 때 사용 된다.
-- 전체 메뉴 조회
SELECT * FROM tbl_menu;
-- 1행부터 5개의 메뉴 행 조회 (ROWNUM 사용)
SELECT *
FROM tbl_menu
WHERE ROWNUM <= 5;
-- 6행부터 5개의 메뉴 행 조회
SELECT *
FROM (
SELECT tbl_menu.*, ROWNUM AS rn
FROM tbl_menu
)
WHERE rn BETWEEN 6 AND 10;
-- OFFSET 없이 5개의 메뉴 행 조회 (ROWNUM 사용)
SELECT *
FROM tbl_menu
WHERE ROWNUM <= 5;
-- OFFSET을 사용하여 6번째 행부터 5개의 행 조회 (ROW_NUMBER() 사용)
SELECT *
FROM (
SELECT tbl_menu.*, ROW_NUMBER() OVER (ORDER BY menu_code) AS rn
FROM tbl_menu
)
WHERE rn BETWEEN 6 AND 10;
Oracle에서는 LIMIT의 OFFSET 기능을 ROWNUM과 함께 직접적으로 사용하기 어렵기 때문에 ROW_NUMBER()를 사용