반응형

# 윈도우 함수 (Window Function)

  • 데이터베이스에서 행과 행간의 비교 또는 연산을 처리하기 위한 함수.
  • 데이터베이스를 사용한 온라인 분석 처리 용도로 사용하기 위해 SQL에 추가된 기능으로 OLAP 함수라고도 함.
  • 윈도우 함수는 메인 쿼리 뿐만 아니라 서브 쿼리에서도 사용할 수 있지만, 함수 자체에서 중첩으로 사용할 수 없다.
  • 윈도우 함수 처리로 인해 결과 건수가 달라지진 않는다.

## 윈도우 함수 문법

SELECT 윈도우 함수(인수) OVER

   [PARTITION BY 컬럼명]

   [ORDER BY 컬럼명]

   [WINDOWING 절]

FROM 테이블명;

  • 윈도우 함수 : 순위/집계/순서/비율 함수 존재
  • OVER : 윈도우 함수에서 OVER 키워드 필수.
  • PARTITION BY : 전체를 여러 개의 그룹으로 구분하기 위한 기준 정의. GROUP BY 구문과 의미상으로 유사.
  • WINDOWING 절 : 그룹 내에서 윈도우 함수를 적용할 행의 범위 지정.

## WINDOWING 절 문법

ROWS | RANGE

BETWEEN start_point AND end_point

  • WINDOWING 절 : 윈도우 함수를 적용할 행의 범위 지정
  • ROWS : 물리적 범위(ROW 기준)
  • RANGE : 논리적 범위(VALUE 기준)
  • Default 값은 RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW

start_point

  • UNBOUNDED PRECEDING : 최초의 레코드
  • CURRENT ROW : 현재 레코드
  • 값 PRECEDING : 값 만큼 이전 레코드
  • 값 FOLLOWING : 값 만큼 이후 레코드

end_point

  • UNBOUNDED FOLLOWING : 마지막 레코드
  • CURRENT ROW : 현재 레코드
  • 값 PRECEDING : 이전 레코드
  • 값 FOLLOWING : 이후 레코드
반응형

'자격증 > SQLD & SQLP 자격증' 카테고리의 다른 글

표준 조인  (0) 2022.05.25
인덱스  (0) 2022.05.23
FUNCTION (함수, 내장 함수, 사용자 정의 함수)  (0) 2022.05.21
시스템 권한, 오브젝트 권한  (0) 2022.05.19
DDL, DML, TCL, DCL, 역할(Role)  (0) 2022.05.18

+ Recent posts