문제
다음 SQL에서 CASE 문의 결과로 가장 적절한 것은?
SQL[EMPLOYEE] SALARY: 3000, 5000, 8000 SELECT SALARY, CASE WHEN SALARY >= 7000 THEN '고액' WHEN SALARY >= 4000 THEN '중간' ELSE '저액' END AS GRADE FROM EMPLOYEE;
① 모든 행이 '고액'으로 분류됨 ② 3000→저액, 5000→중간, 8000→고액 ③ 모든 행이 첫 번째 조건으로만 평가됨 ④ ELSE 절이 실행되지 않음
정답
2번
해설
CASE 문은 위에서부터 순차적으로 조건을 평가합니다. SALARY=3000은 첫 두 조건에 해당하지 않아 '저액', SALARY=5000은 두 번째 조건(>=4000)에 해당하여 '중간', SALARY=8000은 첫 번째 조건(>=7000)에 해당하여 '고액'이 됩니다. 조건이 만족되면 이후 조건은 평가하지 않습니다.