| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
- IT
- 재귀함수
- 익명객체
- 삼성SW테스트
- 백준 알고리즘
- 다이나믹 프로그래밍
- Android
- 멀티스레드
- 익명클래스
- 알고리즘
- BFS
- dp
- 네트워크
- 언더라이터
- 자바
- 금융IT
- 안드로이드
- backjoon
- 개발
- 삼성sw문제
- 너비탐색
- Java
- dfs
- 백준
- 프로그래머스
- CKLU
- 데이터베이스
- 현대오토에버 코딩테스트
- 조합
- 모바일
- Today
- Total
Limky 삽질블로그
[SQLD] 제2장 - 그룹함수(CUBE, ROLLUP, GROUPING SETS)_3 본문
GROUPING SETS 함수
지난시간 :
2018/05/17 - [전공지식/DataBase] - [SQLD] 제2장 - 그룹함수(CUBE, ROLLUP, GROUPING SETS)_1
2018/05/18 - [전공지식/DataBase] - [SQLD] 제2장 - 그룹함수(CUBE, ROLLUP, GROUPING SETS)_2
이번시간은 3번째 시간으로 GROUPING SETS 함수에 대해 알아보겠습니다.
GROUPING SETS 를 이용해 더욱 다양한 소계 집합을 만들수 있습니다.
GROUP BY SQL를 여러 번 반복하지 않아도 원하는 결과를 쉽게 얻을 수 있습니다.
GROUPING SETS 함수는 쉽게 GROUP BY 한 SQL 들을 UNION ALL 해서 보여주는 결과와 같습니다.
먼저 GROUP BY SQL 과 UNION ALL을 쓰는 경우를 보고, 이를 GROUPING SETS 함수를 이용하여 바꿔보겠습니다.
[예제1] 일반 GROUP BY SQL를 이용하여 부서별, 직업별 인원수와 연봉 합계를 구하여라.
-> DNAME 그룹핑 한 결과와 JOB을 그룹핑 한 결과를 합친 결과가 나옵니다.
이제 위 SQL를GROUPING SETS 함수를 이용해 바꿔보겠습니다.
-> GROUPING SETS(인수1, 인수2) 즉, 인수1 그룹핑 결과 + 인수2 그룹핑 결과를 합친 결과입니다.
훨씬 간단하게 같은 결과를 출력할 수 있습니다.
-> 참고로!! GROUPING SETS(인수1, 인수2) 와 GROUPING SETS(인수2, 인수1)의 결과를 서로 같습니다.
즉, GROUPING SETS 인수들은 평등한 관계이므로 인수의 순서가 바뀌어도 결과는 같습니다.
이번에는 괄호를 묶어서 좀 더 다양한 집계를 해보겠습니다.
[예제1] 부서-직업-매니저 별, 부서-직업 별, 직업-매니저 별 집계를 GROUPING SETS 함수를 이용해서 구해라.
-> 괄호를 기준으로, 부서-직업-매니저 별, 부서-직업 별, 직업-매니저 별 집계결과를 얻을 수 있습니다.
이번 시간을 끝으로, 그룹함수(CUBE, ROLLUP, GROUPING SETS)에 대해 알아보았습니다.
수고하셨습니다. ㅎㅎ
'전공지식 > DataBase' 카테고리의 다른 글
| [SQLD] 제2장 - DB계층형 질의와 셀프조인(Hierarchical Query & Self Join)_2 (1) | 2018.06.06 |
|---|---|
| [SQLD] 제2장 - DB계층형 질의와 셀프조인(Hierarchical Query & Self Join)_1 (0) | 2018.06.03 |
| [SQLD] 제2장 - 그룹함수(CUBE, ROLLUP, GROUPING SETS)_2 (0) | 2018.05.18 |
| [SQLD] 제2장 - 그룹함수(CUBE, ROLLUP, GROUPING SETS)_1 (3) | 2018.05.17 |
| [SQLD] 제1장 - 모델링, 데이터 모델링 (0) | 2018.05.07 |