Oracle 기준으로 다음 SQL 을 실행한 결과로 옳은 것은?수강학번… | [SQLD] SQL 개발자 기출유형 모의고사 2회 상세 페이지

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

수강

학번강좌코드등급
2026101K1A
2026102K1B
2026103K1(null)
2026104K1C
2026105K1B
SELECT 학번,
       DECODE(등급, 'A', '우수', 'B', '보통', '미흡') AS 평가
  FROM 수강
 ORDER BY 학번;
1
학번평가
2026101우수
2026102보통
2026103미흡
2026104미흡
2026105보통
2
학번평가
2026101우수
2026102보통
2026103(null)
2026104(null)
2026105보통
3
학번평가
2026101우수
2026102보통
2026103미흡
2026104(null)
2026105보통
4
학번평가
2026101우수
2026102보통
2026103(null)
2026104미흡
2026105보통
해설

DECODE는 등급을 검색값과 차례로 비교해 일치하는 결과를 돌려주고, 어느 것과도 일치하지 않으면 마지막 기본값 '미흡'을 돌려준다.

등급이 C 인 행과 NULL 인 행은 'A'·'B' 어느 쪽과도 일치하지 않으므로 둘 다 '미흡'이 된다.

  • NULL 행만 NULL 로 둔 것은 기본값이 NULL 에도 적용된다는 점을 놓쳤다.
  • C 행만 NULL 로 둔 것은 기본값을 NULL 전용으로 오해했다.
  • 두 행 모두 NULL 로 둔 것은 기본값 인자를 무시했다.

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

이어서 풀어보기

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