다음 SQL의 실행 결과로 옳은 것은?[대출]대출번호회원번호대출일연체일… | [SQLD] SQL 개발자 기출유형 모의고사 5회 상세 페이지

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

[대출]

대출번호회원번호대출일연체일
1M12026-02-257
2M12026-03-020
3M12026-03-092
4M22026-03-036
5M32026-03-04(null)
6M32026-02-273
7M42026-03-051
8M42026-03-12(null)
9M52026-02-109
SELECT 회원번호, COUNT(*) AS 건수, SUM(연체일) AS 합계
  FROM 대출
 WHERE 대출일 >= DATE '2026-03-01'
 GROUP BY 회원번호
HAVING COUNT(*) >= 2 OR SUM(연체일) > 5
 ORDER BY 회원번호;
1
회원번호건수합계
M122
M216
M31(null)
M421
2
회원번호건수합계
M122
M216
M421
3
회원번호건수합계
M122
M216
M42(null)
4
회원번호건수합계
M139
M216
M421
해설

WHERE가 먼저 3월 대출만 남기므로 M1 은 2건 합계 2, M2 는 1건 6, M3 은 1건 NULL, M4 는 2건 1 이 되고 M5 는 그룹이 생기지 않는다.

HAVING에서 M1·M4 는 2건 이상, M2 는 합계가 5 초과라 남고, M3 은 1건이며 NULL > 5 가 UNKNOWN 이라 빠진다.

  • M1 이 3건·9 인 표는 2월 대출까지 집계해 WHERE 를 무시했다.
  • M3 을 넣은 표는 NULL 비교가 조건을 만족한다고 오해했다.
  • M4 합계를 NULL 로 둔 표는 SUM 이 NULL 을 하나라도 만나면 NULL 이 된다고 봤다.

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

이어서 풀어보기

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