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 | 무소속 |