문제
다음 SQL의 실행 결과는? (Oracle)
SQLSELECT CASE WHEN STATUS = 'Y' THEN CASE WHEN SCORE >= 80 THEN 'PASS' ELSE 'FAIL' END ELSE 'PENDING' END AS RESULT FROM (SELECT 'Y' AS STATUS, 75 AS SCORE FROM DUAL);
① PASS ② FAIL ③ PENDING ④ NULL
정답
2번
해설
외부 CASE에서 STATUS='Y'가 참이므로 내부 CASE가 실행됩니다. SCORE=75는 80 이상이 아니므로 ELSE 절이 적용되어 'FAIL'이 반환됩니다.