데이터분석 study/SQL

TIL_24.09.10_COALESCE함수

justdata 2024. 9. 10. 10:56

SQL 코딩테스트 문제를 풀다가 

다른 분들 풀이를 보고 몰랐던 함수에 대해서

찾아보았다.

 

▶ COALESCE함수로 NULL 값 처리하기

SELECT COALESCE(컬럼1, 컬럼2, 컬럼3, ... , 컬럼 N, ...) FROM table;

 

    만약, 컬럼1이 null이 아니면 컬럼1을 반환되고, null이면 컬럼2를 반환

    컬럼2가 null이 아니면 컬럼2를 반환하고, 컬럼1과 컬럼2 모두 null이면 컬럼3을 반환

    컬럼1 ~ 컬럼5까지 null 이면 컬럼 6을 반환하는 형식

 

 예시)

SELECT COALESCE(컬럼1, 컬럼2, '공백') FROM member;
결과값: 컬럼1의 null값 대신 컬럼2가 반환되고, 컬럼2의 null값 대신
'공백'으로 반환

 

 

▶ IFNULL과 COALESCE의 차이

    

    - IFNULL은 값을 두 가지만 넣을 수 있지만, COALESCE는 여러 개의 

      값을 넣을 수 있다.

 

   - IFNULL은 Mysql에만 제공되는 함수이지만, COALESCE 함수는 표준 SQL 함수

 

 

<블로그 참고 >

https://wnwa.tistory.com/35

 

[MySQL] COALESCE 함수로 NULL 값 처리하기 (feat. IFNULL 차이점)

기본 사용법 SELECT COALESCE(칼럼1, 칼럼2, 칼럼3, ... , 칼럼 N, ...) FROM table; 칼럼1이 NULL이 아니면 칼럼1을 반환되고 NULL이면 칼럼2를 반환. 칼럼2가 NULL이 아니면 칼럼2를 반환하고 칼럼1과 칼럼2 모두 N

wnwa.tistory.com