다음 SQL 의 결과로 옳은 것은?[회원]회원번호이름1한서진2오태윤3문… | [SQLD] SQL 개발자 기출유형 모의고사 5회 상세 페이지

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

[회원]

회원번호이름
1한서진
2오태윤
3문지아
4배현우

[대출]

대출번호회원번호대출일
112026-03-02
212026-03-15
332026-03-09
412026-02-20
532026-03-21
SELECT M.이름,
       (SELECT COUNT(*) FROM 대출 L
         WHERE L.회원번호 = M.회원번호) AS 대출수,
       (SELECT MAX(L.대출일) FROM 대출 L
         WHERE L.회원번호 = M.회원번호) AS 최근대출
  FROM 회원 M
 ORDER BY M.회원번호;
1
이름대출수최근대출
한서진32026-03-15
문지아22026-03-21
2
이름대출수최근대출
한서진32026-03-15
오태윤(null)(null)
문지아22026-03-21
배현우(null)(null)
3
이름대출수최근대출
한서진32026-03-15
오태윤0(null)
문지아22026-03-21
배현우0(null)
4
이름대출수최근대출
한서진32026-03-15
오태윤1(null)
문지아22026-03-21
배현우1(null)
해설

스칼라 서브쿼리는 메인쿼리 행마다 한 값을 돌려주므로 회원 4명이 모두 남고, 대출이 없으면 COUNT 는 0, MAX 는 NULL 이 된다.

한서진은 대출 3건 중 가장 늦은 3월 15일, 문지아는 2건 중 3월 21일이 최근대출이다.

  • 대출 없는 회원이 빠진 표는 INNER JOIN 처럼 처리한 결과이다.
  • 대출수를 NULL 로 둔 표는 대상 행이 없을 때 COUNT 도 NULL 이라고 본 경우이다.
  • 대출수를 1로 둔 표는 LEFT OUTER JOIN 후 COUNT(*) 로 NULL 결합 행까지 센 결과이다.

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

이어서 풀어보기

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