문제
다음 SQL 실행 결과에서 GROUPING(DEPT) + GROUPING(JOB) = 1인 행들의 특징으로 가장 적절한 것은?
SQLSELECT DEPT, JOB, GROUPING(DEPT), GROUPING(JOB), SUM(SAL) FROM EMP GROUP BY ROLLUP(DEPT, JOB);
① 전체 총계 행들 ② 부서별 소계 행들 ③ 직무별 소계 행들 ④ 원본 데이터 행들
정답
2번
해설
ROLLUP(DEPT, JOB)에서 GROUPING(DEPT) + GROUPING(JOB) = 1이 되는 경우는 GROUPING(DEPT)=0, GROUPING(JOB)=1인 경우입니다. 이는 DEPT는 실제 값이고 JOB은 소계용 NULL인 상황으로, 각 부서별로 모든 직무를 합한 소계를 의미합니다. ROLLUP(DEPT, JOB)의 결과는 (DEPT, JOB): 0+0=0 (상세 데이터), (DEPT): 0+1=1 (부서별 소계), (): 1+1=2 (전체 총계)가 됩니다. 따라서 합이 1인 경우는 부서별 소계 행들입니다.