ComputerScience/DB

[MySql] 조건문 (if,case문)

slown 2023. 3. 1. 16:11

Mysql에서 조건문은 크게 if문과 case문이 있다.

 

if문

  • if문
  • ifnull문

case문 

  • case-when 문

 

if문

문법

select
	if('조건의 대상이 되는 컬럼', 참인경우의 값, 거짓인 경우의 값) AS '별칭'
from
   	table_name(테이블명)

예제

select
	USER_ID,
    USER_NAME,
    USER_PHONE,
	if(YEAR(CREATED_DATE)=2023,'Y','N') AS REG_DATE
 FROM
 	MEMBER_TABLE

회원 테이블에서 등록일에서 년도가 2023년인 경우에는 Y , 아니면 N으로 별칭을 REG_DATE로 유저아이디,유저이름,

유저 전화번호를 회원 테이블에서 조회하는 SQL문

 

ifnull문

문법

ifnull('값1','값2')

예제

select
	ifnull(price,'NONE')as price,
    NAME
from
	PRODUCT

price의 값이 null이면 NONE으로 출력하고 아닌경우에는 price의 값을 출력을 한다.

 

CASE문

case-when 문

 

문법

select
	case (조건 또는 값)
  		when 값1 then 표시값
  		when 값2 then 표시값
  		else 표시값
	end
from
	테이블

예제

SELECT
	ANIMAL_ID,
    NAME,
    (
    CASE
    	WHEN SEX_UPON_INTAKE LIKE '%Neutered%' OR SEX_UPON_INTAKE LIKE '%Spayed%' THEN 'O'
        ELSE 'X'
    END
    )AS '중성화'
FROM
	ANIMAL_INS

animal_ins 테이블에서 sex_upon_intake가 Neutered 나 Spayed가 있으면  O 아닌 경우에는 X로 출력하는 예문