문제
다음 SQL 실행 시 결과로 가장 적절한 것은?
SQLSELECT CASE GRADE WHEN 'A' THEN CASE SCORE WHEN 95 THEN '우수' WHEN 90 THEN '양호' ELSE '보통' END WHEN 'B' THEN '개선필요' ELSE '재검토' END AS STATUS FROM STUDENT WHERE STUDENT_ID = 'S001'; -- STUDENT 테이블에서 S001의 GRADE='A', SCORE=92
① 우수 ② 양호 ③ 보통 ④ 재검토
정답
3번
해설
외부 CASE에서 GRADE='A'가 매칭되어 내부 CASE문이 실행됩니다. 내부 CASE에서 SCORE=92는 95도 90도 아니므로 ELSE 절의 '보통'이 반환됩니다. 중첩 CASE문에서는 각 단계별로 조건을 확인하여 해당하는 값을 반환합니다.