MySQL

[MYSQL] NULL 처리 (IFNULL, CASE, COALESCE)

스누누피 2025. 5. 20. 09:46

MySQL에서 NULL을 처리하는 방법은 여러가지가 있다.

✔ IFNULL

IFNULL(Column, '대체 값')

Column이 NULL인 경우 '대체 값'으로 치환 된다.

✔ CASE

CASE
    WHEN 조건1 THEN 반환1
    WHEN 조건2 THEN 반환2
    ...
    ELSE 모든 조건에 부합되지 않는 경우 반환
END

조건에 맞는 경우 해당 반환값을 출력하지만 전부 해당되지 않는 경우 ELSE에 있는 값이 반환된다.

✔ COALESCE

COALESCE(Column1, Colunm2, ... , '대체 값')

Column1 부터 확인해서 NULL이 아니면 바로 반환하게 된다. 마지막에 '대체 값'을 넣어서 모두 NULL인 경우를 대비한다.

 

💡 예시

테이블명: PLAYER

ID NAME TEAM
1 KIM FC Bayern Munich
2 SON Tottenham Hotspur FC
3 LEE  

 

SQL문

SELECT NAME
     , IFNULL(TEAM, '무소속')
  FROM PLAYER
SELECT NAME
     , CASE
         WHEN TEAM IS NULL THEN '무소속'
         ELSE TEAM
       END
  FROM PLAYER
SELECT NAME
     , COALESCE(TEAM, '무소속')
  FROM PLAYER

 

결과

NAME TEAM
KIM FC Bayern Munich
SON Tottenham Hotspur FC
LEE 무소속