MySQL

MySQL - case 문장을 작성하는 방법

Cong_S 2022. 5. 16. 20:58

기존 데이터의 모습

case 문장을 작성하는 방법을 예시와 함께 알아보자.

 

released_year 년도가 2000년 이후에 나온 책들은 Modern 이라고 하고, 
그렇지 않은 책들은 Old 라고 새로운 컬럼을 만들어서 가져오세요.

 

파이썬에서 if 조건문을 사용하는 것처럼 SQL에서 조건문을 작성하는 방법을 알아보자.

 

select * , 
	case
		when released_year >= 2000 then 'Modern'
		else 'Old'
	end as Genre
from books;

 select 다음 컬럼을 입력하는 자리에 case 문을 작성한다. 

 

작성할 때에 팁은 들여쓰기로 이해하기 쉽게 작성하는 것이다.
중요한 것은 case로 시작하고 end로 끝난다는 것이다.
안에 조건은 when 의 조건을 만족하면 then 의 값이 나오도록 하면 된다.

마지막엔 else 로 나머지 결과를 작성해주면 된다.

 

다른 문제를 보자.

stock_quantity 가 0 ~ 50 사이면, *가 1개
stock_quantity 가 51 ~ 100 사이면, *가 2개
stock_quantity 가 101 ~ 이면, *가 3개

select * , 
	case
		when stock_quantity between 0 and 50 then '*'
		when stock_quantity between 51 and 100 then '**'
 		else '***'
	end as star
from books;

when 문장의 경우 여러번 사용할 수 있다.