반응형
# 윈도우 함수 (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 |