예제 4-15 employees 테이블에서 job_id가 IT_PROG라면 employee_id, first_name, last_name, salary를 출력하되 salary가 9000 이상이면 ‘상위급여’, 6000과 8999 사이면 ‘중위급여’, 그 외는 ‘하위급여’라고 출력하세요.
SELECT employee_id, first_name, last_name, salary,
CASE
WHEN salary >= 9000 THEN '상위급여'
WHEN salary BETWEEN 6000 AND 8999 THEN '중위급여'
ELSE '하위급여'
END AS 급여등급
FROM employees
WHERE job_id = 'IT_PROG';
실행 결과
CASE 표현식의 수식이 너무 길어 열 이름을 별칭인 ‘급여등급’으로 변경하였습니다. 이처럼 데이터 값의 범위를 모르는 상태에서 특정 조건에 맞춰 출력하거나 조작해야 한다면 CASE 표현식이 유용할 수 있습니다.
실무 활용 팁
CASE 문은 매우 다양하게 활용할 수 있는데 예제와 같이 숫자에 대한 구간 등급을 나누어 표현하는 것은 물론 나이, 지역, 날짜를 구분하여 출력하고자 할 때도 얼마든지 응용할 수 있습니다.