다음 SQL 이 아래 결과를 내도록 ㉠에 들어갈 구문으로 옳은 것은?[… | [SQLD] SQL 개발자 기출유형 모의고사 8회 상세 페이지
1[SQLD] SQL 개발자 기출유형 모의고사 8회
다음 SQL 이 아래 결과를 내도록 ㉠에 들어갈 구문으로 옳은 것은?[출고]
| 출고번호 | 지역 | 창고 | 수량 |
|---|---|---|---|
| 1 | 수도권 | W1 | 10 |
| 2 | 수도권 | W1 | 20 |
| 3 | 수도권 | W2 | 5 |
| 4 | 영남 | W3 | 8 |
| 5 | 영남 | W3 | 12 |
| 6 | 영남 | W4 | 4 |
SELECT 지역, 창고, SUM(수량) AS 합계 FROM 출고 GROUP BY ( ㉠ ) ORDER BY 지역, 창고;
| 지역 | 창고 | 합계 |
|---|---|---|
| 수도권 | W1 | 30 |
| 수도권 | W2 | 5 |
| 수도권 | (null) | 35 |
| 영남 | W3 | 20 |
| 영남 | W4 | 4 |
| 영남 | (null) | 24 |
| (null) | (null) | 59 |
1
ROLLUP(창고, 지역)
2
GROUPING SETS(지역, 창고)
3
ROLLUP(지역, 창고)
4
CUBE(지역, 창고)
해설
결과에는 (지역, 창고) 상세, 창고가 NULL 인 지역별 소계, 둘 다 NULL 인 총계만 있으므로 첫 인수부터 계층으로 묶는 ROLLUP(지역, 창고) 이다.
상세 4행·소계 2행·총계 1행으로 7행이며, 정렬에서 NULL 이 뒤로 가 소계가 각 지역 끝, 총계가 맨 끝에 온다.
- ROLLUP(창고, 지역) 은 지역 없이 창고만 남은 창고별 소계를 만든다.
- CUBE 는 지역 소계에 더해 창고별 소계까지 만들어 행이 더 많다.
- GROUPING SETS(지역, 창고) 는 상세 행과 총계 없이 각 열의 소계만 만든다.
오류나 개정된 내용이 보이면 알려주세요