Top N 쿼리

2023. 10. 25. 01:00BOOKS/SQL 전문가 가이드

 
SQL 전문가 가이드
SQL 전문가 가이드는 SQL 자격검정 대비 수험서로 데이터베이스와 데이터 모델링에 대한 지식을 바탕으로 최적의 성능을 발휘할 수 있도록 SQL을 작성하고 데이터베이스 프로그램이나 응용 소프트웨어의 성능을 최적화하고 데이터베이스 개체의 설계와 구현을 위해 데이터 모델링의 이해, SQL기본 및 활용, SQL 고급 활용 및 튜닝 등의 실무가이드로 구성되어 있다.
저자
한국데이터산업진흥원
출판
한국데이터산업진흥원
출판일
2021.03.15

Top N 쿼리

1. ROWNUM 슈도 칼럼

  • 칼럼과 비슷한 성격의 Pseudo Column으로서 SQL처리 결과 집합의 각 행에 대해 임시로 부여되는 일련번호
  • 테이블이나 집합에서 원하는 만큼의 행만 가져오고 싶을 때 WHERE 절에서 행의 개수를 제한하는 목적으로 사용
  • WHERE절에 ORDER BY절보다 먼저 처리되므로 정렬 후 원하는 데이터를 얻기 위해서는 인라인 뷰에서 먼저 데이터를 정렬한 후 메인 쿼리에서 ROWNUM 조건을 사용해야 한다.
SELECT ENAME, SAl
FROM (SELECT ENAME, SAL
            FROM EMP
            ORDER BY SAl DESC)
WHERE ROWNUM <= 3;

2. TOP 절

TOP(Expression) [PERCENT][WITH TIES]
  • Expression : 반환할 행 수를 지정하는 숫자
  • PERCENT : 쿼리 결과 집합에서 처음 Expression%의 행만 반환됨을 나타냄
  • WITH TIES : ORDER BY절이 지정된 경우만 사용할 수 있음, TOP N(PERCENT)의 마지막 행과 같은 값이 있는 경우 추가 행이 출력되도록 지정할 수 있음

3. ROW LIMITING 절

[OFFSET offset {ROW | ROWS}]
[FETCH {FIRST | NEXT} [{rowcount | percent PERCENT}] {ROW | ROWS} {ONLY | WITH TIES}]
  • OFFSET offset : 건너뛸 행의 개수 지정
  • FETCH : 반환할 행의 개수나 백분율 지정
  • ONLY : 지정된 행의 개수나 백분율만큼 행 반환
  • WITH TIES :마지막 행에 대한 동순위를 포함해서 반환
  • ROW와 ROWS 구분하지 않아도 됨

'BOOKS > SQL 전문가 가이드' 카테고리의 다른 글

PIVOT절과 UNPIVOT절  (0) 2023.10.25
계층형 질의와 셀프 조인  (0) 2023.10.25
윈도우 함수  (0) 2023.10.07
그룹 함수  (0) 2023.10.07
집합 연산자  (0) 2023.10.07