다음 SQL 의 실행 결과로 옳은 것은?[반편성]과목반인원수학A10수학… | [SQLD] SQL 개발자 기출유형 모의고사 7회 상세 페이지

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

[반편성]

과목반인원
수학A10
수학B8
영어A12
영어(null)5
SELECT 과목, 반, SUM(인원) AS 합계,
       GROUPING(반) AS G
  FROM 반편성
 GROUP BY GROUPING SETS ((과목, 반), 과목)
 ORDER BY 과목, G, 반;
1
과목반합계G
수학A100
수학B80
수학(null)181
영어A120
영어(null)51
영어(null)171
2
과목반합계G
수학A100
수학B80
수학(null)181
영어A120
영어(null)50
영어(null)171
3
과목반합계G
수학A100
수학B80
수학(null)181
영어A120
영어(null)171
4
과목반합계G
수학A100
수학B80
수학(null)181
영어A120
영어(null)50
영어(null)171
(null)(null)351
해설

GROUPING SETS 에 적은 (과목, 반) 상세 4행과 과목 소계 2행만 만들어지며, 총계 행은 없다.

영어·NULL·5 는 원래 반이 NULL 인 상세 행이라 GROUPING(반)=0 이고, 소계 행의 NULL 만 집계로 생겨 1 이다.

  • 영어·NULL·5 의 G 를 1 로 본 표는 NULL 이면 모두 소계라고 오해한 것이다.
  • 영어·NULL·5 가 빠진 표는 NULL 반 상세 행을 소계와 합쳐 버린 결과이다.
  • 총계 35 행이 있는 표는 빈 그룹 () 을 적지 않았는데도 총계가 생긴다고 본 것이다.

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

이어서 풀어보기

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