STUDY/SQL

CASE 표현식 : 복잡한 조건 논리 처리하기

sorrow16 2021. 4. 29. 19:45

복잡한 조건식을 여러 개 적용해야 할 때는 DECODE 함수보다 CASE 표현식을 이용하는 것이 유용할 수 있습니다. DECODE 함수는 데이터 값이 정확히 맞거나 틀린 조건을 처리하게 쉬운 반면 CASE 함수는 조건의 범위가 다양한 경우에 쉽게 처리할 수 있습니다.

 

[사용법]

CASE
	WHEN 조건 1 THEN 출력 값 1
    WHEN 조건 2 THEN 출력 값 2
    ....
    ELSE 출력 값 3
END

예시> 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';

 

 

 

 

[실행결과]

 

 

 

'STUDY > SQL' 카테고리의 다른 글

그룹함수 - COUNT  (0) 2021.05.21
그룹함수 - SUM, AVG 함수  (0) 2021.05.20
RANK, DENSE_RANK, ROW_NUMBER : 데이터 값에 순위 매기기  (0) 2021.04.28
DECODE : 조건 논리 처리하기  (0) 2021.04.27
NVL : NULL 값 처리하기  (0) 2021.04.23