MySQL 데이터의 조건문 case when then end(조건이 3개 이상일 때)

2023. 12. 18. 15:45Database/MySQL

728x90
반응형

 

 

 

 

주어진 데이터는 아래와 같습니다.

 

select *
from books;

 

 

 

 

 


  • case when then

여러 조건 중 참(True)인 조건이 있으면 그 값을 반환하면서 진행되는 문법

모든 조건이 충족되지 않았을때 else절의 값을 지정하지 않으면 Null(빈값)으로 반환됩니다.

select *
	case
    		when 조건 then 결과
        	when 조건 then 결과
		else 결과
    end as 컬럼추가
from 테이블명;

 

 

 

1. 예제

 

-- 출판 연도가 2000년도 이상인 책들은 '최근책'이라고 하고 

그렇지 않은 책들은 '예전책'이라고 하여 type 이라는 컬럼을 추가하여 가져오시오

 

select *, 
	case
		when released_year >= 2000 then '최근책'
		else '예전책'
	end as type
from books;

 

 

 

 

 

2. 예제

 

-- 재고가 0 부터 50 까지이면 '*' , 재고가 51 부터 100까지 이면 '**' , 그렇지 않으면 '***' 으로 하여 

stock이라는 컬럼을 추가하시오

 

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

 

 

 

728x90
반응형