rollup
: 컬럼 갯수가 n개 => 결과 집합 갯수가 n+1개
컬럼의 나열 순서가 중요 (결과에 차이가 있으므로)
8i부터 사용가능
아래의 예는 3가지 (deptno, job), (deptno), () 아래의 grouping sets와 같다.
cube
: 컬럼 갯수가 n개 => 결과 집합 갯수 2^n개
8i부터 사용가능
위의 예와 아래의 예는 같은 결과를 나타냄
cf) grouping 함수
: 0과 1의 값만 반환하는 함수로 rollup과 cube와 같이 사용함.
특정 컬럼을 이용한 그룹핑 결과인지 판단할 때 쓰인다.
0일 경우 그 컬럼의 그룹핑 결과, 1일 경우 그룹핑 결과가 아님..
grouping sets
: 지정한 컬럼으로 그룹을 짓는 함수. 원하는 그룹핑 결과만 도출할 수 있다.
rollup과 cube의 단점을 보완하기 위해서 9i부터 나온 기술
사용예는 위의 rollup과 cube의 예제를 참고할 것.
기타 참고사항
- rollup과 cube의 단점
: 너무 많은 결과를 나오게 한다.
- excel과 비교시 dbms의 장점과 단점
장점 : 여러 사람이 사용할 수 있도록 제공
복원과 복구가 쉬움.
단점 : 사용하기 어려움으로 교육이 필요.
통합 관리로 중앙 부분에 문제가 생기면 전체적으로 사용이 불가능
: 컬럼 갯수가 n개 => 결과 집합 갯수가 n+1개
컬럼의 나열 순서가 중요 (결과에 차이가 있으므로)
8i부터 사용가능
아래의 예는 3가지 (deptno, job), (deptno), () 아래의 grouping sets와 같다.
SQL> select deptno, job, sum(sal)
from emp
group by rollup(deptno, job);
from emp
group by rollup(deptno, job);
SQL> select deptno, job, sum(sal)
from t1
group by grouping sets ((deptno, job),(dept),());
from t1
group by grouping sets ((deptno, job),(dept),());
cube
: 컬럼 갯수가 n개 => 결과 집합 갯수 2^n개
8i부터 사용가능
위의 예와 아래의 예는 같은 결과를 나타냄
SQL> select deptno, job, sum(sal)
from emp
group by cube (deptno, job);
from emp
group by cube (deptno, job);
SQL> select deptno, job, sum(sal)
from emp
group by grouping sets ((deptno, job),(deptno),(job),());
from emp
group by grouping sets ((deptno, job),(deptno),(job),());
cf) grouping 함수
: 0과 1의 값만 반환하는 함수로 rollup과 cube와 같이 사용함.
특정 컬럼을 이용한 그룹핑 결과인지 판단할 때 쓰인다.
0일 경우 그 컬럼의 그룹핑 결과, 1일 경우 그룹핑 결과가 아님..
SQL>select *
from (select deptno, job, sum(sal) as sum_sal, grouping(deptno), grouping (job)
from t1
group by rollup(deptno, job));
from (select deptno, job, sum(sal) as sum_sal, grouping(deptno), grouping (job)
from t1
group by rollup(deptno, job));
grouping sets
: 지정한 컬럼으로 그룹을 짓는 함수. 원하는 그룹핑 결과만 도출할 수 있다.
rollup과 cube의 단점을 보완하기 위해서 9i부터 나온 기술
사용예는 위의 rollup과 cube의 예제를 참고할 것.
기타 참고사항
- rollup과 cube의 단점
: 너무 많은 결과를 나오게 한다.
- excel과 비교시 dbms의 장점과 단점
장점 : 여러 사람이 사용할 수 있도록 제공
복원과 복구가 쉬움.
단점 : 사용하기 어려움으로 교육이 필요.
통합 관리로 중앙 부분에 문제가 생기면 전체적으로 사용이 불가능
'Oracle > SQL' 카테고리의 다른 글
Correlated Sub Query(상호관련 서브 쿼리) (1) | 2009.12.15 |
---|---|
timezone (0) | 2009.12.15 |
multi table insert (0) | 2009.12.14 |
index를 사용하여 쿼리를 튜닝해보자 (0) | 2009.11.16 |
WITH .. AS (0) | 2009.11.15 |