윈도우 함수
- 행과 행간의 관계에서 다양한 연산 처리를 할 수 있는 함수가 윈도우 함수이다.
- 분석함수로도 알려져 있다. (ANSI 표준은 윈도우 함수이다.)
- 윈도우 함수는 일반 함수와 달리 중첩하여 호출 될 수는 없다.
윈도우 함수의 종류
순위관련함수
- RANK
- DENSE_RANK
- ROW_NUMBER
집계관련함수
- SUM
- MAX
- MIN
- AVG
- COUNT
행순서관련함수
- FIRST_VALUE
- LAST_VALUE
- LAG (이전)
- LEAD (다음)
그룹내 비율관련함수
- CUME_DIST
- PERCENT_RANK
- NTILE
- RATIO_TO_REPORT
OVER()함수는 서브쿼리를 간단하게 대체하기 위해 사용됨,
오라클에서 OVER() 를 사용하면
GROUP BY나 서브쿼리를 사용하지 않고
분석 함수(SUM, MAX, COUNT)과
집계 함수(GROUP BY, ORDER BY)를 사용할 수 있는데
집계 함수 사용 시
서브쿼리가 지나치게 길어지는 것을 고려해보면
OVER를 사용해 쿼리 길이를 획기적으로 줄일 수 있다
OVER()는
분석_함수() OVER(PARTITION BY 컬럼 / ORDER BY 컬럼 / 세부 분할 기준)
으로 이루어지는데
여기서 분석 함수와 OVER()는 필수지만
OVER 안의 내용들은
필요할 경우에만 작성해주면 된다
RANGE: 논리적인 순서 만약 등수가 같다면 연봉합계는 같아짐
ROWS: 물리적인 순서 (보여지는 로우순서) 연봉합계가 로우바뀔 때 올라간다.
백분율이 0부터 시작: PERCENT_RANK()
등분: NTILE(N), N은 몇등분할지
'Computer Science > 데이터베이스' 카테고리의 다른 글
SQL 절차형 SQL - Oracle (0) | 2023.06.10 |
---|---|
SQL DCL(Data Control Langauge)- Oracle (0) | 2023.06.10 |
SQL 그룹함수 - Oracle (0) | 2023.06.10 |
SQL 서브쿼리 - Oracle (1) | 2023.06.10 |
SQL 계층 형 질의와 SELF조인 - Oracle (0) | 2023.06.10 |