지원 DBMS
- SQL SERVER
- MS Access
사용법
SELECT TOP 10 * FROM TABLE;SELECT TOP 10 PERCENT * FROM TABLE;결과
결과의 상위 N개(또는 %) 행만 반환
UPDATE/DELETE 에도 사용 가능
지원 DBMS
- MySQL
- PostgreSQL
사용법
SELECT * FROM TABLE LIMIT 10;SELECT * FROM TABLE LIMIT 10 OFFSET 20;결과
결과의 상위 N개 행만 반환,
OFFSET과 조합해 페이징 가능
지원 DBMS
- Oracle(12c+)
- DB2
- PostgreSQL
사용법
SELECT * FROM TABLE FETCH FIRST 10 ROWS ONLY;SELECT * FROM TABLE OFFSET 10 ROWS FETCH NEXT 5 ROWS ONLY;결과
SQL 표준으로, 상위 N개 행만 반환,
OFFSET과 조합해 페이징 가능
지원 DBMS
- Oracle
사용법
SELECT * FROM TABLE WHERE ROWNUM <= 10;SELECT * FROM ( SELECT * FROM TABLE ORDER BY HIREDATE ) WHERE ROWNUM <= 5;결과
오라클 고유 문법으로,
쿼리 결과의 N개 행만 반환.
정렬시 서브쿼리 필요
OFFSET는 SQL에서 쿼리 결과의 앞에서부터 지정한 개수만큼의 행(row)을 건너뛰고,
그 다음 행부터 결과를 반환하는 데 사용하는 절기본 문법
- MySQL
- PostgreSQL
- SQLite
등SELECT 컬럼명 FROM 테이블명 ORDER BY 정렬기준 LIMIT 반환할_행수 OFFSET 건너뛸_행수;예시
SELECT * FROM employees ORDER BY employee_id LIMIT 10 OFFSET 20;결과
-> 21번째 행부터 10개 반환예시
SELECT * FROM 테이블명 OFFSET 5;결과
-> 앞의 5개 행을 건너뛰고 나머지 모두 반환표준 SQL
- SQL Server
- Oracle 12c+
등예시
SELECT * FROM employees ORDER BY employee_id OFFSET 20 ROWS FETCH NEXT 10 ROWS ONLY;결과
-> 21번째 행부터 10개 반환