티스토리 뷰
ROLLUP
-그룹핑된 결과에 그룹별 합계 정보를 추가
CUBE
-그룹핑된 컴럼의 모든 가능한 조합에 대한 합계 정보 추가
EX) ROLLUP
SELECT job, SUM(sal)
FROM emp
GROUP BY job;
JOB SUM(SAL)
---------- ----------
ANALYST 600
CLERK 3200
MANAGER 33925
PRESIDENT 5000
SALESMAN 4000
SELECT job, SUM(sal)
FROM emp
GROUP BY ROLLUP(job);
JOB SUM(SAL
---------- ----------
ANALYST 6000
CLERK 3200
MANAGER 33925
PRESIDENT 5000
SALESMAN 4000
52125 --> 급여 합계에 대한 총계가 추가
EX) CUBE
SELECT b.dname, a.job, SUM(a.sal) sal, COUNT(a.empno) emp_count
FROM emp a, dept b
WHERE a.deptno = b.deptno
GROUP BY CUBE(b.dname, a.job)
GROUPING 함수
-PSEUDO column ( 슈도함수 -실제로는 존재하지 않으나 특수목적으로 사용)
-row가 group by에 의해 생긴 row 인지 rollup,cube에 의해 생긴 row 인지 판별하는 함수
ex)
SELECT b.dname, a.job, SUM(a.sal) sal, COUNT(a.empno) emp_count,
GROUPING(b.dname) "D", GROUPING(a.job) "S"
FROM emp a, dept b
WHERE a.deptno = b.deptno
GROUP BY CUBE(b.dname, a.job)
'MODEL > ORACLE' 카테고리의 다른 글
[ORACLE] SUBQUERY 문 (0) | 2017.11.16 |
---|---|
[ORACLE] exists 연산자 (0) | 2017.11.16 |
[ORACLE] DECODE & CASE 함수 (0) | 2017.11.15 |
[ORACLE] 연산자 및 기본 함수(LIKE,ROUNDADD_MONTHS,TO_CHAR 등등) (0) | 2017.11.15 |
[ORACLE] 조인 과 ANSI 조인 (1) | 2017.11.15 |