CASE WHEN 문은 조건문으로 MYSQL 과 ORACLE 이 동일하게 사용할 수 있다.
기본 형식은 다음과 같다.
CASE
WHEN 조건
THEN ‘반환 값’
ELSE ‘WHEN 조건에 해당 되지 않는 경우 반환 값’
END
여기서 조건을 여러개 추가하여 쓸 수 있다.
CASE
WHEN 조건
THEN ‘반환 값’
WHEN 조건
THEN ‘반환 값’
...
ELSE ‘WHEN 조건에 해당 되지 않는 경우 반환 값’
END
조건을 여러개 쓸 수 있는 걸 깜박했다~
아래의 조건문을 CASE WHEN 구문으로 SQL 쿼리를 짜면 다음과 같다.
IF문 | 내용 |
IF age > =30 then 6000 | 나이가 30살 이상이면 보너스 6000 |
ELSE IF age>=27 THEN 5000 | 그렇지않고 나이가 27살 이상이면 보너스 5000 출력 |
ELSE IF age >= 22 THEN 4000 | 그렇지않고 나이가 22살 이상이면 보너스 4000 출력 |
ELSE 0 | 위 모든 조건이 아니라면 보너스 2000 출력 |
SELECT age,ename, CASE WHEN age >= 30 then 6000
when age >= 27 then 5000
when age >= 22 then 4000
else 2000 end as "보너스"
from emp;
참고 : https://www.next-t.co.kr/seo/sql/mysql-case-when-then-%EA%B5%AC%EB%AC%B8/
'MySQL' 카테고리의 다른 글
[해커랭크] [SQL] The PADs (0) | 2023.01.30 |
---|---|
[leetcode] [MySQL] 176. Second Highest Salary (1) | 2022.12.27 |
[oracle] [mysql] group by 시 유의사항 (0) | 2022.12.11 |
[프로그래머스 ] [sql] lv1. 12세 이하인 여자 환자 목록 출력하기 (1) | 2022.12.08 |
프로그래머스 [SQL] Lv1. 흉부외과 또는 일반외과 의사 목록 출력하기 (0) | 2022.12.08 |