[SQL] IFNULL / COALESCE

이정희·2025년 4월 25일

주요 특징

  1. NULL 값 처리:

    • NULL 값은 SQL에서 의미를 부여하지 않은 값이나 존재하지 않는 데이터를 나타냅니다.
    • COALESCE는 NULL 대신 기본값이나 다른 컬럼 값을 반환하도록 설정하는 데 유용합니다.
  2. 대체 디폴트 값 활용:

    • 특정 컬럼의 값이 NULL일 경우, 대체 값(디폴트 값)을 설정할 수 있습니다.

    사용 사례

1. 기본값 지정

SELECT COALESCE(column_name, 'DEFAULT VALUE') AS result FROM your_table;

  • 설명: column_name이 NULL이면 'DEFAULT VALUE'를 반환.

2. 여러 컬럼 중 첫 번째 유효한 값 찾기

SELECT COALESCE(col1, col2, col3, 'No Value') AS result FROM your_table;

  • 설명: col1, col2, col3을 순서대로 평가하다가 첫 번째로 NULL이 아닌 값을 반환합니다. 모든 값이 NULL이면 'No Value'를 반환.

3. 수치 데이터 활용

SELECT COALESCE(salary, bonus, 0) AS total_income FROM employee;

  • 설명: salarybonus가 NULL이면 최종적으로 0을 반환.

EX 조회수 NULL값 처리시
COALESCE(v.view_count, 0) AS view_count

  • v.view_count 값이 NULL일 경우, 0을 반환

IFNULL(칼럼, '칼럼의 값이 NULL일 때 반환값')인 IFNULL과 COALESCE 차이는?

출처 : https://wnwa.tistory.com/35

IFNULL은 값을 두 가지만 넣을 수 있지만, COALESCE는 여러개의 값을 넣을 수 있다는 겁니다.

IFNULL은 MySQL에만 제공되는 함수인 반면, COALESCE 함수는 표준 SQL 함수입니다.

profile
필요할 때 찾아볼 수 있도록 기록하는 블로그

0개의 댓글