다음 SQL 이 [결과]를 출력할 때 ㉠에 들어갈 구문으로 옳은 것은?… | [SQLD] SQL 개발자 기출유형 모의고사 6회 상세 페이지
1[SQLD] SQL 개발자 기출유형 모의고사 6회
다음 SQL 이 [결과]를 출력할 때 ㉠에 들어갈 구문으로 옳은 것은?[진료내역]
| 진료과 | 유형 | 진료비 |
|---|---|---|
| 내과 | 외래 | 10 |
| 내과 | 입원 | 30 |
| 외과 | 외래 | 20 |
| 외과 | 외래 | 5 |
SELECT 진료과, 유형, SUM(진료비) AS 합계 FROM 진료내역 GROUP BY ( ㉠ ) ORDER BY 진료과, 유형;
[결과]
| 진료과 | 유형 | 합계 |
|---|---|---|
| 내과 | 외래 | 10 |
| 내과 | 입원 | 30 |
| 내과 | (null) | 40 |
| 외과 | 외래 | 25 |
| 외과 | (null) | 25 |
| (null) | 외래 | 35 |
| (null) | 입원 | 30 |
| (null) | (null) | 65 |
1
진료과, 유형
2
CUBE(진료과, 유형)
3
GROUPING SETS(진료과, 유형)
4
ROLLUP(진료과, 유형)
해설
결과에 진료과별 소계와 유형별 소계, 총계가 모두 있으므로 가능한 모든 조합을 만드는 CUBE 이며, 인수가 2개면 2²=4가지 그룹이 생긴다.
상세 3행, 진료과 소계 2행, 유형 소계 2행, 총계 1행을 더해 8행이 된다.
- ROLLUP(진료과, 유형) 은 유형별 소계가 없어 6행이다.
- GROUPING SETS 는 각 열별 소계만 만들고 상세와 총계가 없다.
- 진료과, 유형만 쓰면 소계·총계 없이 상세 3행만 나온다.
오류나 개정된 내용이 보이면 알려주세요