반응형
이번 글에서는 SQL Server에서 조회할 행 수를 제한하는 방법에 대해 학습했습니다.
대표적으로 TOP, OFFSET, FETCH 구문을 통해 정렬된 데이터 중 일부만 추출할 수 있습니다.
📌 예제 코드
-- 최근 IPO 기업 중 상위 10개만 조회 (IPO 연도 내림차순, symbol 오름차순)
SELECT TOP 10 * FROM nasdaq_company
ORDER BY ipo_year DESC, symbol ASC;
-- 1000번째 이후부터 모든 데이터 조회 (symbol 기준 오름차순)
SELECT * FROM nasdaq_company
ORDER BY symbol
OFFSET 1000 ROWS;
-- 1000번째 이후에서 다음 10개만 조회 (페이징)
SELECT * FROM nasdaq_company
ORDER BY symbol
OFFSET 1000 ROWS
FETCH NEXT 10 ROWS ONLY;
💻 실행 결과 예시
- 첫 번째 쿼리는 최근 IPO된 기업들 중에서 가장 최신 순으로 10개만 보여줍니다.
- 두 번째 쿼리는 정렬된 결과에서 앞의 1000개를 건너뛰고 나머지를 모두 보여줍니다.
- 세 번째 쿼리는 앞의 1000개를 건너뛴 뒤, 딱 10개만 결과로 반환합니다.
💬 코드 설명
- TOP N: 상위 N개의 행만 출력 (정렬이 선행되어야 의미 있음)
- OFFSET N ROWS: 앞에서 N개의 행을 건너뜀
- FETCH NEXT N ROWS ONLY: OFFSET 이후 N개의 행만 선택
- OFFSET/FETCH는 페이징 처리에 유용하며, 반드시 ORDER BY와 함께 사용해야 함
💡 포인트 정리
- TOP N: 특정 수만큼 결과를 제한
- OFFSET: 앞에서부터 N행 생략
- FETCH NEXT: OFFSET 이후 몇 행을 가져올지 설정
- 페이징 처리를 하려면 ORDER BY + OFFSET + FETCH 조합 필수
📌 정리하자면, 이번 강의에서는 TOP, OFFSET, FETCH를 이용해 SQL 결과 행을 제한하는 방법을 실습했습니다.
정렬된 데이터에서 원하는 위치의 일부만 추출할 수 있어, 특히 대용량 데이터 처리나 페이지네이션 구현에 매우 유용한 문법입니다.
'SQL Server > 실기 정리' 카테고리의 다른 글
SQL Server 9강 - 문자 집합 패턴 검색 (LIKE와 [], [^]) (0) | 2025.05.30 |
---|---|
SQL Server 8강 - 단일 문자 패턴 검색 (LIKE와 _) (0) | 2025.05.30 |
SQL Server 7강 - 문자열 패턴 검색 (LIKE, NOT LIKE) (0) | 2025.05.30 |
SQL Server 5강 - 오름차순(ASC)과 내림차순(DESC) 정렬 (0) | 2025.05.30 |
SQL Server 4강 - 다중 정렬과 빈 문자열 제외 (0) | 2025.05.30 |
SQL Server 3강 - 데이터 정렬 (ORDER BY) (0) | 2025.05.30 |