다음 SQL 의 실행 결과로 옳은 것은?[시간표]요일과목수강생수월국어2… | [SQLD] SQL 개발자 기출유형 모의고사 7회 상세 페이지

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

[시간표]

요일과목수강생수
월국어20
월수학15
화수학25
SELECT 요일, 과목, SUM(수강생수) AS 합계
  FROM 시간표
 GROUP BY ROLLUP (요일, 과목)
 ORDER BY 요일, 과목;
1
요일과목합계
월국어20
월수학15
화수학25
(null)국어20
(null)수학40
(null)(null)60
2
요일과목합계
월국어20
월수학15
월(null)35
화수학25
화(null)25
(null)(null)60
3
요일과목합계
월국어20
월수학15
월(null)35
화수학25
화(null)25
4
요일과목합계
월국어20
월수학15
월(null)35
화수학25
화(null)25
(null)국어20
(null)수학40
(null)(null)60
해설

ROLLUP (요일, 과목) 은 (요일, 과목) 상세 → 요일별 소계 → 총계 순으로 집계하므로 상세 3행·소계 2행·총계 1행의 6행이다.

소계 행은 과목이 NULL 이고 ASC 정렬에서 NULL 이 뒤로 가므로 각 요일 상세 다음에, 총계 60 은 맨 끝에 온다.

  • 과목별 소계만 있는 표는 인수 순서를 바꾼 ROLLUP (과목, 요일) 의 결과이다.
  • 총계가 없는 표는 GROUP BY 요일, ROLLUP (과목) 처럼 부분 ROLLUP 일 때의 결과이다.
  • 요일·과목 소계를 모두 가진 표는 CUBE 의 결과이다.

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

이어서 풀어보기

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