데이터베이스/MySQL
[MySQL] CASE 기본 사용법
떨어지는 용
2017. 12. 28. 11:40
▶MySQL CASE 기본 사용법
▶설명
MySQL에서 CASE문은 프로그래밍 언어에서 스위치(switch)문과 비슷하지만,
다수의 조건에 하나의 반환 값은 동작하지 않습니다.
▶사용법
CASE WHEN 조건 THEN '반환 값' WHEN 조건 THEN '반환 값' ELSE 'WHEN 조건에 해당 안되는 경우 반환 값' END
- WHEN과 THEN은 한쌍이어야 합니다.
- WHEN과 THEN은 다수가 존재할 수 있습니다.
- ELSE가 존재하면 모든 조건에 해당하지 않는 경우에 반환 값을 설정할 수 있습니다.
- ELSE가 존재하지 않고, 조건에 맞지 않아서 반환 값이 없으면 NULL를 반환합니다.
▶예제 쿼리 (Example Query)
예제 테이블 : hero_collection
idx |
type |
name |
1 |
1 |
안중근 |
2 |
1 |
윤봉길 |
3 |
2 |
김유신 |
4 |
2 |
이순신 |
5 |
3 |
이성계 |
6 |
3 |
왕건 |
7 | 4 | 반갑수 |
쿼리 (Query)
SELECT idx, CASE WHEN type = '1' THEN '의사' WHEN type = '2' THEN '장군' WHEN type = '3' THEN '왕' ELSE '일반인' END AS hero_type, name FROM hero_collection;
결과
idx | hero_type | name |
1 | 의사 | 안중근 |
2 | 의사 | 윤봉길 |
3 | 장군 | 김유신 |
4 | 장군 | 이순신 |
5 | 왕 | 이성계 |
6 | 왕 | 왕건 |
7 | 일반인 | 반갑수 |