다음 SQL 의 결과 전체 행 수와, 그중 직급 열이 NULL 인 행 … | [SQLD] SQL 개발자 기출유형 모의고사 3회 상세 페이지
1[SQLD] SQL 개발자 기출유형 모의고사 3회
다음 SQL 의 결과 전체 행 수와, 그중 직급 열이 NULL 인 행 수를 순서대로 나열한 것은?[직원]
| 사번 | 부서 | 직급 | 급여 |
|---|---|---|---|
| 1 | 영업 | 과장 | 400 |
| 2 | 영업 | 대리 | 300 |
| 3 | 영업 | (null) | 250 |
| 4 | 개발 | 과장 | 450 |
| 5 | 개발 | 대리 | 350 |
| 6 | 개발 | 대리 | 330 |
| 7 | 인사 | (null) | 280 |
SELECT 부서, 직급, SUM(급여) AS 합계 FROM 직원 GROUP BY ROLLUP (부서, 직급);
1
11, 5
2
10, 6
3
9, 4
4
10, 4
해설
상세 그룹은 영업 3(과장·대리·NULL)·개발 2·인사 1 로 6행이고, 여기에 부서 소계 3행과 총계 1행이 더해져 10행이다.
직급이 NULL 인 행은 소계·총계 4행에 원래 직급이 NULL 인 상세 그룹 2행이 더해져 6행이며, 둘을 구별하려면 GROUPING 함수를 쓴다.
- 10, 4 는 원래 NULL 인 상세 그룹을 소계로만 본 경우이다.
- 9, 4 는 총계 1행과 원래 NULL 인 상세 그룹 2행을 함께 빠뜨린 수이다.
- 11, 5 는 행 수와 NULL 행 수 모두 실제 10행·6행과 맞지 않는다.
오류나 개정된 내용이 보이면 알려주세요