데이터베이스/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 

 안중근

 윤봉길

 김유신

 이순신

 이성계

 왕건

 7 

 반갑수



쿼리 (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 

의사 

 안중근

의사 

 윤봉길

장군 

 김유신

장군 

 이순신

왕 

 이성계

왕 

 왕건

 7 

일반인 

 반갑수