[회원] 테이블에 다음 SQL 을 실행했을 때 조회되는 결과는?[회원]… | [SQLD] SQL 개발자 기출유형 모의고사 2회 상세 페이지

1[SQLD] SQL 개발자 기출유형 모의고사 2회
[회원] 테이블에 다음 SQL 을 실행했을 때 조회되는 결과는?

[회원]

회원번호등급포인트
1VIP300
2일반450
3(null)200
4일반(null)
5(null)800
6VIP100
7일반500
8(null)(null)
SELECT 회원번호, 등급
  FROM 회원
 WHERE COALESCE(등급, '일반') <> 'VIP'
   AND 포인트 < 500
 ORDER BY 회원번호;
1
회원번호등급
2일반
3(null)
2
회원번호등급
2일반
3일반
3
회원번호등급
2일반
3(null)
4일반
8(null)
4
회원번호등급
2일반
해설

등급이 NULL 인 행은 COALESCE 로 '일반'이 되어 첫 조건이 참이지만, 포인트가 NULL 이면 UNKNOWN 이라 AND 결과가 참이 되지 않아 회원 2·3 만 남는다.

회원 4·8 은 포인트 비교가 UNKNOWN 이라 빠지고 회원 5·7 은 포인트가 500 이상이며, SELECT 의 등급은 바꾸지 않았으므로 회원 3 의 등급은 NULL 그대로 출력된다.

  • 회원 3 의 등급을 '일반'으로 보인 표는 WHERE 의 COALESCE 가 출력값까지 바꾼다고 본 것이다.
  • 회원 2 만 남긴 표는 등급 NULL 행을 COALESCE 없이 비교한 결과다.
  • 회원 4·8 까지 넣은 표는 NULL 과의 비교를 참으로 계산한 것이다.

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

이어서 풀어보기

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