2.5. GROUPING SETS
GROUPING SETS
- - GROUPING SETS 함수는 GROUP BY의 확장된 형태로 하나의 GROUP BY절에 여러개의 그룹 조건을 기술할 수 있다.
- - GROUPING SETS 함수의 결과는 각 그룹 조건에 대해 별도로 GROUP BY한 결과를 UNION ALL한 결과와 동일하다.
- - GROUPING SETS 함수를 사용하면 UNION ALL등을 사용하여 복잡하게 SQL문장을 작성했던 것을 간단하게 한 문장으로 해결 할 수 있다.
아래는 GROUPING SETS함수와 GROUP BY, UNION ALL을 이용하여 동일한 결과를 출력하는 예제이다.
-- GROUPING SETS 예제
SELECT
deptno, job,
SUM
(sal)
FROM
emp
GROUP
BY
GROUPING
SETS(deptno, job);
-- GROUP BY와 UNION ALL을 이용한 예제
SELECT
NULL
deptno, job,
SUM
(sal)
FROM
emp
GROUP
BY
job
UNION
ALL
SELECT
deptno,
NULL
job,
SUM
(sal)
FROM
emp
GROUP
BY
deptno;
-- 조회결과
DEPTNO JOB
SUM
(SAL)
--------- ------------------ ----------
CLERK 4150
SALESMAN 5600
PRESIDENT 5000
MANAGER 8275
ANALYST 6000
30 9400
20 10875
10 8750
'Database > Oracle SQL2' 카테고리의 다른 글
4.1. Unconditional INSERT ALL (0) | 2019.04.25 |
---|---|
3.3. 계층구조 쿼리의 응용 (0) | 2019.04.24 |
3.2. 계층구조 쿼리의 활용 (0) | 2019.04.24 |
3.1. 계층구조 쿼리(Hierarchical Queries)란? (0) | 2019.04.24 |
2.4. Cube (0) | 2019.04.24 |
2.3. Rollup 결과 행 구분 (0) | 2019.04.24 |
2.2. Rollup 예제 (0) | 2019.04.24 |
2.1. Rollup (0) | 2019.04.24 |