집합 연산자
- UNION ALL : 중복된 행도 그대로 출력
- UNION : 결과를 합친 후 중복 제거
- INTERSECT
- MINUS/EXCEPT
그룹 함수
; 테이블을 GROUP BY 하여 나타낼 수 있는 데이터를 구하는 함수
역할에 따라 집계함수와 소계(총계) 함수로 나눌 수 있음
- 집계 함수 : COUNT, SUM, AVG, MAX, MIN 등
- 소계(총계) 함수 : ROLLUP, CUBE, GROUPING SETS 등
ROLLUP : 소그룹 간의 소계 및 총계를 계산하는 함수
- ROLLUP(A) : A로 그룹핑, 총합계
- ROLLUP(A,B) : A,B로 그룹핑, A로 그룹핑, 총합계
- ROLLUP(A,B,C) : A,B,C,로 그룹핑, A,B로 그룹핑, A로 그룹핑, 총합계
CUBE : 조합할 수 있는 모든 그룹에 대한 소계를 집계
- CUBE(A) : A로 그룹핑, 총합계
- CUBE(A,B) : A,B로 그룹핑, A로 그룹핑, B로 그룹핑, 총합계
- CUBE(A,B,C) : A,B,C로 그룹핑, A,B로 그룹핑, A,C로 그룹핑, B,C로 그룹핑, A로 그룹핑, B로 그룹핑, C로 그룹핑, 총합계
GROUPING SETS : 특정 항목에 대한 소계를 계산, 인자값으로 ROLLUP이나 CUBE를 사용할 수도 있음
- GROUPING SETS(A,B) : A로 그룹핑, B로 그룹핑
- GROUPING SETS(A,B,()) : A로 그룹핑, B로 그룹핑, 총합계
- GROUPING SETS(A, ROLLUP(B)) : A로 그룹핑, B로 그룹핑, 총합계
- GROUPING SETS(A, ROLLUP(B,C)) : A로 그룹핑, B,C로 그룹핑, B로 그룹핑, 총합계
- GROUPING SETS(A, B, ROLLUP(C)) : A로 그룹핑, B로 그룹핑, C로 그룹핑, 총합계
ROLLUP 함수는 인수의 순서에 따라 결과가 달라지며 CUBE함수와 GROUPING SETS 함수는 인수의 순서가 바뀌어도 같은 결과를 출력한다
GROUPING : ROLLUP, CUBE, GROUPING SETS 등과 함께 쓰이며 소계를 나타내는 ROW를 구분할 수 있게 해준다
소계가 계산된 Row에서는 GROUPING 함수의 결과값이 1이 되고 나머지 Row에서는 0이 됨
'SQLD > SQL 기본 및 활용' 카테고리의 다른 글
Top - N 쿼리, 셀프 조인 Self Join (0) | 2023.03.14 |
---|---|
윈도우 함수 (0) | 2023.03.14 |
뷰 View (0) | 2023.03.14 |
서브쿼리 Subquery (0) | 2023.03.14 |
정리 1 (0) | 2023.03.13 |