반응형

행 제한 

특정 조건에 따라 행 개수를 제한하기 위해 사용하는 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;
반응형