다음 SQL 의 실행 결과로 옳은 것은?[청구]청구번호유형채널금액1입원… | [SQLD] SQL 개발자 기출유형 모의고사 10회 상세 페이지

1[SQLD] SQL 개발자 기출유형 모의고사 10회
다음 SQL 의 실행 결과로 옳은 것은?

[청구]

청구번호유형채널금액
1입원앱100
2입원(null)50
3통원앱30
4통원앱20
SELECT 유형, 채널, SUM(금액) AS 합계,
       GROUPING(채널) AS G
  FROM 청구
 GROUP BY GROUPING SETS ((유형, 채널), (유형))
 ORDER BY 유형, G, 채널;
1
유형채널합계G
입원앱1000
입원(null)500
입원(null)1001
통원앱500
통원(null)501
2
유형채널합계G
입원앱1000
입원(null)500
입원(null)1501
통원앱500
통원(null)501
(null)(null)2001
3
유형채널합계G
입원앱1000
입원(null)1500
입원(null)501
통원앱500
통원(null)501
4
유형채널합계G
입원앱1000
입원(null)500
입원(null)1501
통원앱500
통원(null)501
해설

GROUPING SETS ((유형, 채널), (유형)) 은 유형·채널 상세와 유형 소계만 만들고 총계는 만들지 않으며, 소계 행의 GROUPING(채널) 만 1이다.

입원의 NULL 채널 50은 원래 데이터의 NULL 이라 G=0 인 상세 행이고, 입원 소계 150은 NULL 채널 금액까지 더한 값이다.

  • 원래 NULL 행에 1을 준 표는 GROUPING 이 집계로 생긴 NULL 에만 1을 준다는 점을 놓쳤다.
  • 총계 행이 있는 표는 () 를 지정하지 않았는데도 전체 합계를 넣었다.
  • 입원 소계를 100으로 쓴 표는 채널이 NULL 인 행을 소계에서 뺀 것이다.

오류나 개정된 내용이 보이면 알려주세요

이어서 풀어보기

[SQLD] SQL 개발자 기출유형 모의고사 10회 50문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요SQLD SQL 개발자 실전 모의고사 암기장 전체 보기