다음 [결과]를 얻기 위해 ( ㉠ )에 들어갈 구문으로 옳은 것은?[계… | [SQLD] SQL 개발자 기출유형 모의고사 10회 상세 페이지
1[SQLD] SQL 개발자 기출유형 모의고사 10회
다음 [결과]를 얻기 위해 ( ㉠ )에 들어갈 구문으로 옳은 것은?[계약]
| 계약번호 | 지점 | 상품군 | 보험료 |
|---|---|---|---|
| 1 | 강남 | 종신 | 30 |
| 2 | 강남 | 실손 | 10 |
| 3 | 분당 | 종신 | 20 |
| 4 | 분당 | 실손 | 15 |
| 5 | 분당 | 실손 | 5 |
SELECT 지점, 상품군, SUM(보험료) AS 합계 FROM 계약 GROUP BY ( ㉠ ) ORDER BY 상품군, 지점;
[결과]
| 지점 | 상품군 | 합계 |
|---|---|---|
| 강남 | 실손 | 10 |
| 분당 | 실손 | 20 |
| (null) | 실손 | 30 |
| 강남 | 종신 | 30 |
| 분당 | 종신 | 20 |
| (null) | 종신 | 50 |
| (null) | (null) | 80 |
1
ROLLUP (지점, 상품군)
2
ROLLUP (상품군, 지점)
3
지점, ROLLUP (상품군)
4
CUBE (상품군, 지점)
해설
[결과]에는 상품군별 소계(지점 NULL)와 총계만 있으므로, 상품군을 상위 계층으로 둔 ROLLUP (상품군, 지점) 이 맞다.
ROLLUP 은 인수 순서대로 (상품군, 지점), (상품군), () 단계로 집계하며 SELECT 절 열 순서와는 무관하다.
- ROLLUP (지점, 상품군) 은 지점별 소계를 만들어 강남·분당 소계 행이 나온다.
- CUBE 는 상품군 소계와 지점 소계를 모두 만들어 행이 더 많다.
- 지점, ROLLUP (상품군) 은 지점별 소계만 만들고 총계 행이 없다.
오류나 개정된 내용이 보이면 알려주세요