조건문 함수 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;


'Database > MySQL (DBeaver)' 카테고리의 다른 글
| [DBeaver] MySQL - 그룹화한 데이터에 조건 적용하기 : HAVING (0) | 2025.01.12 |
|---|---|
| [DBeaver] MySQL - 그룹화해서 데이터 조회하는 GROUP BY 키워드 (1) | 2025.01.12 |
| [DBeaver] MySQL - 값이 null인 데이터 조회하기 (0) | 2025.01.12 |
| [DBeaver] MySQL - 부등호 (=, !=, >, <, >=, <=)와 BETWEEN 키워드 (0) | 2025.01.12 |
| [DBeaver] MySQL - 중복 값 제거 DISTINCT 키워드 (1) | 2025.01.12 |