집합 연산자

- 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

+ Recent posts