다음 SQL의 실행 결과로 옳은 것은?[승객]승객번호마일리지P11200… | [SQLD] SQL 개발자 기출유형 모의고사 4회 상세 페이지

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

[승객]

승객번호마일리지
P1120000
P250000
P3(null)
P480000
P530000
SELECT 승객번호,
       CASE WHEN 마일리지 >= 50000  THEN '골드'
            WHEN 마일리지 >= 100000 THEN '플래티넘'
            WHEN 마일리지 < 50000   THEN '일반'
            ELSE '미가입' END AS 등급
  FROM 승객
 ORDER BY 승객번호;
1
승객번호등급
P1골드
P2골드
P3일반
P4골드
P5일반
2
승객번호등급
P1골드
P2골드
P3미가입
P4골드
P5일반
3
승객번호등급
P1플래티넘
P2골드
P3미가입
P4골드
P5일반
4
승객번호등급
P1골드
P2일반
P3미가입
P4골드
P5일반
해설

검색형 CASE는 WHEN 을 위에서부터 평가해 처음 참이 되는 조건의 값을 돌려주므로 120000 인 P1 도 첫 조건(50000 이상)에 걸려 골드가 된다.

마일리지가 NULL 인 P3 은 모든 비교가 UNKNOWN 이라 ELSE 의 미가입이 된다.

  • P1 을 플래티넘으로 본 표는 가장 잘 맞는 조건을 고른다고 오해했다.
  • P3 을 일반으로 본 표는 NULL < 50000 을 참으로 보았다.
  • P2 를 일반으로 본 표는 50000 이 50000 이상 조건을 만족함을 놓쳤다.

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

이어서 풀어보기

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