Database/MySQL (DBeaver)

[DBeaver] MySQL - 조건문 함수 if()와 case 키워드

juunghee 2025. 1. 12. 23:39
조건문 함수 if()와 case 키워드

 

 

if() 함수

데이터를 가공할 때 2가지 상황에 대해서 처리하는 함수이다.

조건의 참/거짓 여부에 따라 값을 출력한다.

 

 

사용예제

: books 테이블에서 페이지수가 300 이상인 책은 긴책,

  그렇지 않으면 짧은책이라고 하고 컬럼 이름은 book_type으로 한다.

select *, if(pages >= 300, '긴책', '짧은책') as book_type
from books;

 

 

사용예제

: 출간년도가 2000년 이상인 책들은 최신책이라 하고

  그렇지 않으면 예전책 이라고 하자. 컬럼 이름은 type

select *, if(released_year>=2000, '최신책', '예전책') as type
from books;

 

 

 

case 키워드

if는 조건이 2가지일 때 사용한다.

조건이 3개이상이라면 case 키워드를 사용해준다.

 

select *,
  case 
    when 조건1 then 결과값1
    when 조건2 then 결과값 2
    when 조건3 then 결과값 3
    else 결과값        // 위 조건 1~3을 충족하지 않을 경우
  end as 새컬럼명
from 테이블명;

 

 

예제

: 재고수량이 0 이상이고, 50 이하면, *

  재고수량이 51 이상이고, 100이하면, **

  재고수량이 100이상이면, ***

  새로운 컬럼 stock을 만들어서 조회하기

select *,
         CASE
                 when stock_quantity >= 0 and stock_quantity <= 50 then '*'
                 when stock_quantity >= 51 and stock_quantity <= 100 then '**'
                 else '***'
         END as stock
from books;

 

 

 

 

 

 

 

 

 

 

 

 

 

home