BIG
2과목. SQL 기본 및 활용
2장. SQL 활용
5절. Top N 쿼리
# Top N 쿼리
- 페이징 처리를 효과적으로 수행하기 위해 사용
- 전체 결과에서 특정 N개 추출
# Top N 행 추출 방법
① ROWNUM
② RANK
③ FETCH
# ROWNUM
- 출력된 데이터 기준으로 행 번호 부여
- 절대적인 행 번호가 아닌 가상의 번호이므로 특정 행을 지정할 수 없음(= 연산 불가)
- 첫번째 행이 증가한 이후 할당되므로 ‘>’ 연산 사용 불가(0은 가능)
# FETCH 행
- 출력될 행의 수를 제한하는 절
- Oracle 12C 이상부터 제공(그 전 번전에는 주로 ROWNUM 사용)
- SQL-Server 사용 가능
- ORDER BY 절 뒤에 사용(내부 파싱 순서도 ORDER BY 뒤)
- 문법
SELECT
FROM
WHERE
GROUP BY
HAVING
ORDER BY
OFFSET N { ROW | ROWS }
FETCH { FIRST | NEXT } N { ROW | ROWS } ONLY
· OFFSET: 건너뛸 행의 수
· N: 출력할 행의 수
· FETCH: 출력할 행의 수를 전달하는 구문
· FIRST: OFFSET 을 쓰지 않았을 때 처음부터 N 행 출력 명령
· NEXT: OFFSET 을 사용했을 경우 제외한 행 다음부터 N 행 출력 명령
· ROW | ROWS: 행의 수에 따라 하나일 경우 단수, 여러값이면 복수형(특별히 구분하지 않아도 됨)
'🖊️Certificate > 📌SQLD' 카테고리의 다른 글
[SQLD] 2과목 - 2장) 7절. PIVOT 절과 UNPIVOT 절 (1) | 2024.03.07 |
---|---|
[SQLD] 2과목 - 2장) 6절. 계층형 질의와 셀프 조인 (0) | 2024.03.07 |
[SQLD] 2과목 - 2장) 4절. 윈도우 함수 (0) | 2024.03.07 |
[SQLD] 2과목 - 2장) 3절. 그룹 함수 (0) | 2024.03.07 |
[SQLD] 2과목 - 2장) 2절. 집합 연산자 (0) | 2024.03.07 |
댓글