군침이 싹 도는 코딩

MySQL 조건문 처리하는 방법 (case,if) 본문

Database/MySQL

MySQL 조건문 처리하는 방법 (case,if)

mugoori 2022. 12. 7. 17:17
-- 년도가 2000년 이상이면, 'Mordern Book' 이라고 하고,
-- 그렇지 않으면, '20th Book' 이라고, 새로운 컬럼 genre 컬럼을 만드세요

-- 1. case 문으로 처리하는 방법
select *,
	case 
		when released_year >= 2000 then 'Mordern Book'
        else '20th Book'
    end as genre
from books;

-- 2. if 함수로 처리하는 방법
select * , if(released_year >= 2000 , 'Mordern Book', '20th Book') as genre
from books;

# 조건문을 처리하는 방법은 두가지가 있다

case 문은 case 로 시작해서 end 로 끝나며 

when을 쓰고 조건을 쓴 뒤 then을 쓰고 리턴값을 써준다

추가 조건이 있을시 똑같이 when 과 then을 써서 처리한다

그렇지 않으면이란 조건이 있으면 else 를 쓰고 리턴값을 써준다

if 함수는 if 함수를 쓰고 파라미터로 조건,리턴값,그렇지않을때 리턴값을 써주면 된다

 

 

 

-- 재고가 0~50이면, *
-- 51~100 이면, **
-- 101~150 이면, ***
-- 그렇지 않으면, **** 로 표시하는 컬럼 stock 이라는 컬럼을 만드세요
select * , 
	case
		when stock_quantity between 0 and 50 then '*'
        when stock_quantity between 51 and 100 then '**'
        when stock_quantity between 101 and 150 then '***'
        else '****'
	end as stock
from books;

# 이 조건문은 조건이 4개이므로 case 문으로 처리한다.

case 와 if 의 차이점은 if 는 두가지 조건밖에 처리하지 못한다