행 제한
특정 조건에 따라 행 개수를 제한하기 위해 사용하는 SQL
OFFSET 건수 { ROW | ROWS }
FETCH { FIRST | NEXT } { 건수 | 숫자 PERCENT }
{ROW | ROWS}
{ ONLY | WITH TIES }
ORDER BY |
SQL 수행 결과의 정렬 기준 |
OFFSET |
행의 시작 지점을 지정 |
FETCH |
반환할 행 또는 행의 비율을 지정 |
ONLY |
행의 수 또는 비율을 정확하게 지정한 값만큼 반환 |
SELECT 사번, 이름
FROM 사원
ORDER BY 이름 ASC
OFFSET 2 ROW FETCH FIRST 3 ROWS ONLY ;
- 오름차순으로 정렬 후 , 2번째 행에서 부터 3건을 조회하는 SQL
* FIRST / NEXT , ROW / ROWS 의 기능의 차이는 없다.
예제
1. 결과 행을 오름차순으로 정렬 후 개수를 2건으로 제한
SELECT 사번, 이름
FROM 사원
ORDER BY 이름 ASC
FETCH FIRST 2 ROWS ONLY;
2. 결과 행 개수를 4건 TIES로 제한
SELECT 사번, 이름
FROM 사원
ORDER BY 이름 ASC
FETCH FIRST 4 ROWS WITH TIES;
3. 결과 행 개수를 전체 ROW 개수의 50%로 제한
SELECT 사번, 이름
FROM 사원
ORDER BY 이름 ASC
FETCH FIRST 50 PERCENT ROWS ONLY;
4. 결과 행 개수를 2번째 ROW부터 3건으로 제한
SELECT 사번, 이름
FROM 사원
ORDER BY 이름 ASC
OFFSET 2 ROWS FETCH NEXT 3 ROWS ONLY;