LIMIT / OFFSET
웹 게시판이나 쇼핑몰 리스트를 보면 데이터가 한 번에 수만 개씩 나오지 않고 10개 혹은 20개씩 끊어서(페이징) 보입니다. 수백만 건의 데이터 중 우리가 필요한 딱 10건만 빠르게 가져오기 위해 사용하는 필수 문법이 바로 LIMIT과 OFFSET입니다.
💡 핵심 비유
책의 페이지 넘기기
수만 페이지의 백과사전에서 OFFSET 20(앞 20쪽 건너뛰기) 한 뒤 LIMIT 10(10장만 읽기)을 통해 21쪽부터 30쪽까지만 정확하게 뽑아 읽는 것과 같습니다.
🧩 원리 이해하기
1
-- 급여 순위 3등부터 5등까지만 추출합니다 (총 3명).
-- MySQL, PostgreSQL 문법 기준입니다. (Oracle은 OFFSET... FETCH 혹은 ROWNUM 사용)
SELECT NAME, SALARY
FROM EMPLOYEES
ORDER BY SALARY DESC
LIMIT 3 OFFSET 2;
| # |
NAME VARCHAR2 |
SALARY NUMBER |
| 1 |
브라이언 |
6000 |
| 2 |
제시카 |
5500 |
| 3 |
켈리 |
5000 |
Query executed successfully.
3 row(s) fetched - 0.005s