샤브의 블로그 RSS 태그 관리 글쓰기 방명록
Device & Language/Oracle (2)
2010-09-20 00:08:37
 ROLLUP(a, b, c) GROUPING SETS((a, b, c), (a, b), (a), ()) 
 CUBE(a, b, c) GROUPING SETS((a, b, c), (a, b), (a,c), (b,c), (a), (b), (c), ())

Default는...
가장 간단하게 그룹화된 결과값을 출렵합니다.
그룹화한 조건에 의해 추가적인 것 없이 출력됩니다.
SELECT                   컬럼_이름, 계산식, 함수 등
FROM                       테이블[, 테이블, 서브쿼리, 뷰 등]
[WHERE                   조건 나열]
[GROUP BY ROLLUP 그룹화할 조건 나열(A, B, C ETC)]
[HAVING                  그룹 함수 적용 조건 나열]
[ORDER BY              최종 결과 정렬]

Rollup은...
대분류에서 중분류, 소분류 순으로 알아보기 쉽도록 할 수 있다.
분류별 결과는 아래로 나오게 되어 전체 결과는 가장 마지막에 출력됩니다.
SELECT                   컬럼_이름, 계산식, 함수 등
FROM                       테이블[, 테이블, 서브쿼리, 뷰 등]
[WHERE                   조건 나열]
[GROUP BY ROLLUP 그룹화할 조건 나열(대분류, 중분류, 소분류순)]
[HAVING                  그룹 함수 적용 조건 나열]
[ORDER BY              최종 결과 정렬]

Cube는...
롤업과는 달리 전체 집계, B별 집계, A별 집계, A,B별 집계로 나오게 되고 사용된 칼럼 수의 2배의 집계가 생성됩니다.
분류별 결과는 위에 나오게 되어 전체 결과는 가장 먼저 출력됩니다.
SELECT                   컬럼_이름, 계산식, 함수 등
FROM                       테이블[, 테이블, 서브쿼리, 뷰 등]
[WHERE                   조건 나열]
[GROUP BY CUBE    그룹화할 조건 나열(A, B, C ETC)]
[HAVING                  그룹 함수 적용 조건 나열]
[ORDER BY              최종 결과 정렬]

Grouping Sets는...
위의 것들과 달리 가장 세밀하게 선택을 해서 필요한 결과를 얻어 낼수 있습니다.
A, B순으로 출력됩니다.
SELECT                                  컬럼_이름, 계산식, 함수 등
FROM                                     테이블[, 테이블, 서브쿼리, 뷰 등]
[WHERE                                  조건 나열]
[GROUP BY GROUPING SETS    그룹화할 조건 나열(A, B, C ETC)]
[HAVING                                  그룹 함수 적용 조건 나열]
[ORDER BY                              최종 결과 정렬]

스샷은 후 첨부 해야 할 듯 하네요... 아직 DB를 안깔아놔서리...

참고문서 : 열혈강의 10g로 시작하는 오라클 SQL & PL/SQL(P.151~157)

'Device & Language > Oracle' 카테고리의 다른 글

dual 테이블을 잘 사용해라~  (0) 2010.09.19
2010-09-19 18:41:42
dual은 오라클이 제공하는 기본 테이블이므로
간단한 경우에는 dual 테이블을 사용하여 하면
반복되는 계산을 줄일수 있다는~...

쉬운 예로
시스템 시간을 출력하는 경우
100개의 행을 가진 테이블로 실행을 하면...
100번의 계산이 되겠지만...
dual 테이블을 이용하면...
1번의 계산만해서 필요한 결과를 얻을 수 있다...

역시 책을 잘 읽어 봐야해...

'Device & Language > Oracle' 카테고리의 다른 글

Group By 확장  (0) 2010.09.20