Database/MySQL

[MySQL] 조건문, CASE / if() 함수로 데이터 변환하기

Mei99 2024. 5. 14. 15:53

CASE : 컬럼에 있는 값을 가공하는 조건문

if( ) : 조건부 함수

 

 

MySQL CASE 문 / if() 함수로 데이터 변환하기

CASE 문 문법

- when 절에는 참과 거짓을 반환하는 조건을 넣어줘야 한다.

- 조건이 참이면 then 뒤에 결과가 반영된다.

- 어떤 조건도 만족하지 못하면 else 절의 결과가 반영된다.

- else는 생략 가능하며, 생략하면 null 값으로 간주된다.

 

 

 

CASE  사용 방법

① case 문을 작성할 기본 틀 세우기

 

조건식과 결과값 넣어주기

조건 : released_year 값이 2000 이상인 책들은 '최신책' 이라고 하고,
결과 :  그렇지 않은 책들은 '예전책'이라 하자.

 

③ type 이라고 컬럼명 지어주기 

 

④ 추가된 type 컬럼에 결과값이 들어갔다. 

 

 

기존 컬럼의 데이터를 가지고, 2가지의 조건으로만 확인하는 경우는
if() 함수를 사용해도 된다.
즉, 2가지로 파악할때는 if 함수가 훨씬 편하다.

 

 

IF( 조건, true 일때 실행, false 일때 실행)

조건 : pages 컬럼의 값이 300보다 크면,

true 일때 : '긴책' 
false 일때 : '짧은책'

변환된 값은 새로운 컬럼, book_type 이라고 하기