1. IFNULL
IFNULL은 두 개의 인수를 취한다.
첫 번째 인수가 NULL
이라면, 두 번째 인수를 반환
한다.IFNULL(column, value)
// IFNULL(column명, ‘null일 경우 대체 값’)
IFNULL(column1, column2)
// IFNULL(column명, ‘null일 경우 대체 값’)
SELECT IFNULL(column, 0) AS result
FROM table_name;
➡️ column이 NULL일 경우, 0을 반환
SELECT IFNULL(column1, column2) AS result
FROM table_name;
➡️ column이 NULL일 경우, column2을 반환
2. CASE
CASE는 여러 조건을 검사하고,
조건에 따라 다른 값을 반환
할 수 있게 한다.- NULL값을 처리하는 데 사용할 수도 있다.
CASE
WHEN condition1 THEN result1 // WHEN column IS NULL THEN value
WHEN condition2 THEN result2
...
ELSE default_result
END
SELECT
CASE
WHEN column IS NULL THEN 0
ELSE column_name
END AS result
FROM table_name;
➡️ column이 NULL일 경우, 0을 반환하고 그렇지 않으면 column_name을 반환한다.
3. COALESCE
COALESCE는 여러 인수를 취하고, 그 중
첫 번째로 NULL이 아닌 값을 반환
한다.COALESCE(column1, column2, ..., columnN)
// 괄호 안 column 중 NULL이 아닌 column을 반환
SELECT COALESCE(column_name, 0) AS result
FROM table_name;
➡️ column_name = NULL 👉 0
➡️ column_name ≠ NULL 👉 column_name
셋의 차이점
IFNULL | CASE | COALESCE |
두 개의 인수 | 여러 조건 | 여러 인수 |
첫 번째 인수가 NULL
👉 두 번째 인수 반환 | 더 복잡한 논리 구현 | 인수 중 첫 번째로 NULL이 아닌 값을 반환 |
간단한 NULL 처리에 사용 | 특정 조건을 기반으로 다양한 값 반환할 때 사용 | 여러 대체 값을 순차적으로 검사할 때 사용 |
Share article