다음 SQL을 실행했을 때 결과 행의 수는?[수강생]번호지점나이1강남1… | [SQLD] SQL 개발자 기출유형 모의고사 7회 상세 페이지

1[SQLD] SQL 개발자 기출유형 모의고사 7회
다음 SQL을 실행했을 때 결과 행의 수는?

[수강생]

번호지점나이
1강남17
2강남25
3강남(null)
4분당19
5분당19
6분당(null)
7(null)30
8(null)15
SELECT CASE WHEN 나이 < 20 THEN '청소년' ELSE '성인' END AS 구분,
       지점, COUNT(*) AS 인원
  FROM 수강생
 GROUP BY CASE WHEN 나이 < 20 THEN '청소년' ELSE '성인' END, 지점
 ORDER BY 1, 2;
1
7
2
4
3
6
4
5
해설

나이가 NULL 이면 '나이 < 20' 이 UNKNOWN 이라 ELSE 로 가서 성인이 되고, 지점이 NULL 인 행도 GROUP BY 에서 하나의 그룹을 이룬다.

강남·분당·지점 NULL 이 각각 청소년과 성인 두 그룹씩으로 묶여 6행이며, 분당의 19세 두 명은 한 그룹으로 합쳐진다.

  • 지점이 NULL 인 행을 버리면 강남·분당 네 그룹만 남아 4행이 된다.
  • 나이 NULL 행이 빠진다고 보면 분당 성인 그룹이 사라져 5행이 된다.
  • 나이 NULL 을 별도 구분으로 보면 강남·분당에 그룹이 생겨 7행으로 센다.

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

이어서 풀어보기

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