다음 결과를 얻기 위해 ( 가 )에 들어갈 식으로 옳은 것은?[고객청구… | [SQLD] SQL 개발자 기출유형 모의고사 10회 상세 페이지

1[SQLD] SQL 개발자 기출유형 모의고사 10회
다음 결과를 얻기 위해 ( 가 )에 들어갈 식으로 옳은 것은?

[고객청구]

고객번호금액
11500
2300
3(null)
4120
51000
6299
SELECT 고객번호, 금액,
       ( 가 ) AS 등급
  FROM 고객청구
 ORDER BY 고객번호;

㉠ CASE WHEN 금액 >= 300 THEN 'M'
        WHEN 금액 >= 1000 THEN 'H' ELSE 'L' END
㉡ CASE WHEN 금액 >= 1000 THEN 'H'
        WHEN 금액 >= 300 THEN 'M' END
㉢ CASE WHEN 금액 >= 1000 THEN 'H'
        WHEN 금액 >= 300 THEN 'M' ELSE 'L' END
㉣ CASE WHEN 금액 < 300 THEN 'L'
        WHEN 금액 < 1000 THEN 'M' ELSE 'H' END

[원하는 결과]

고객번호금액등급
11500H
2300M
3(null)L
4120L
51000H
6299L
1
㉢
2
㉡
3
㉠
4
㉣
해설

검색 CASE 는 위에서부터 처음 참이 되는 WHEN 하나만 적용하므로 큰 기준(1000)을 먼저 두고, 나머지는 ELSE 로 L 을 주어야 한다.

금액이 NULL 인 고객 3은 모든 비교가 UNKNOWN 이라 ELSE 의 L 이 되고, 299인 고객 6은 300 미만이라 L 이다.

  • ㉠은 1500도 첫 조건 300 이상에 걸려 H 가 나오지 않는다.
  • ㉡은 ELSE 가 없어 고객 3·4·6의 등급이 NULL 이 된다.
  • ㉣은 NULL 인 고객 3이 ELSE 로 가서 H 가 된다.

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

이어서 풀어보기

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