MySQL에서 사용되는 CASE WHEN 구문에 대해서 알아보겠습니다. CASE WHEN 구문은 프로그래밍 switch문과 굉장히 흡사한 구조입니다.

 

 

기존 SELECT 구문으로 출력한 모습입니다. 여기서 조건을 넣어 각각 다른 값을 출력할 수 있도록 해보겠습니다.

 


CASE WHEN 을 사용한 쿼리문입니다. 맨 위부터 천천히 살펴보면 일단 SELECT 구문으로 name 필드와 iq 필드를 출력하도록 설정했습니다.

 

여기서 name은 기존 출력하던 방식 그대로 출력하고 iq부분은 CASE WHEN 구문을 이용하여 조건을 넣었습니다.

 

만약 iq가 100을 넘는다면 기존 iq부분의 데이터를 THEN구문을 이용하여 천재라는 문자열로 변경하여 출력합니다. 

 

그리고 iq가 100이라면 iq부분의 데이터를 보통이라는 문자열로 변경합니다.

 

ELSE 구문은 위의 조건식 외 모든 데이터에 모두 적용됩니다. 그래서 위 조건식 외 모든 데이터는 바부라는 문자열로 변경됩니다.

 

CASE WHEN 구문 마지막에는 END 라는 구문을 써줘야합니다. (CASE = 시작, END = 끝)

 

마지막으로 iq 필드명을 AS를 이용하여 수준으로 변경하여 출력합니다.



출처 : http://kb.globalsoft.co.kr/web/web_view.php?notice_no=200

+ Recent posts