ROLLUP 연산자 예 1

 

*사용 예

-소속 학과별로 교수 급여 합계와 모든 학과 교수들의 급여 합계를 출력하여라.

 

 

ROLLUP, CUBE 연산자의 개념도

 

 

ROLLUP 함수의 개념도

 

 

CUBE 함수의 개념도

ROLLUP, CUBE 연산자

 

*ROLLUP 연산자

-GROUP BY절의 그룹 조건에 따라 전체 행을 그룹화하고 각 그룹에 대해 부분합을 구하는 연산자

-GROUP BY절에 칼럼의 수가 n개이면 ROLLUP 그룹핑 조합은 n+1개

 

*CUBE 연산자

-ROLLUP에 의한 그룹 결과와 GROUP BY절에 기술된 조건에 따라 그룹 조합을 만드는 연산자

-GROUP BY절에 칼럼의 수가 n개이면 CUBE 그룹핑 조합은 2n개

 

*사용법

SELECT             column, group_function(column)

FROM                table

[WHERE             condition]

[GROUP BY        [ROLLUP | CUBE] group_by_expression]

[HAVING             group_condition]

 

 

 

 

다중 칼럼을 이용한 그룹별 검색

 

*사용 예

-전체 학생을 소속 학과별로 나누고, 같은 학과 학생은 다시 학년별로 그룹핑하여, 학과와 학년별 인원수, 평균 몸무게를 출력하여라, 단, 평균 몸무게는 소수점 이하 첫번째 자리에서 반올림 한다.

 

다중 칼럼을 이용한 그룹핑 예

 

*실습 예

-학과별로 소속 교수들의 평균급여, 최소급여, 최대급여를 출력하여라.

 

다중 칼럼을 이용한 그룹핑

 

*다중 칼럼을 이용한 그룹핑

-하나 이상의 칼럼을 사용하여 그룹을 나누고, 그룹별로 다시 서브 그룹을 나눔

-전체 교수를 학과별로 먼저 그룹핑한 다음, 학과별 교수를 직급별로 다시 그룹핑하는 경우

 

다중 칼럼을 이용한 서브그룹의 그룹 함수 처리 방법

단일 칼럼을 이용한 그룹핑

 

*사용 예

-교수 테이블에서 학과별로 교수 수와 보직수당을 받는 교수 수를 출력하여라.

 

GROUP BY절과 SELECT절

 

*GROUP BY절에 명시하지 않은 칼럼을 SELECT절에서 사용한 경우

 

+ Recent posts