SQL/개념
COALESCE 함수
데이터분석가 이채은
2024. 11. 15. 11:24
COALESCE 함수란?
"COALESCE" 함수는 여러 인수 중 첫 번째로 NULL이 아닌 값을 반환합니다. NULL 값을 처리하거나 대체 값을 제공해야 할 때 매우 유용하게 사용됩니다.
COALESCE 함수의 기본 구문
COALESCE(value1, value2, ..., valueN)
- value1, value2,..., valueN: 평가할 값의 목록.
- 왼쪽에서 오른쪽으로 값을 평가하며, 첫 번째로 NULL이 아닌 값을 반환.
- 모든 값이 NULL이면 NULL을 반환.
COALESCE 함수의 특징
- NULL이 아닌 값만 반환:
- COALESCE는 NULL 값을 반환하지 않습니다(모든 값이 NULL인 경우 제외).
- 모든 인수를 평가하지 않음:
- 첫 번째로 NULL이 아닌 값을 찾으면 이후의 인수는 평가하지 않습니다.
- 타입 일치:
- 모든 인수는 같은 데이터 유형이어야 하며, 그렇지 않으면 오류가 발생할 수 있습니다.
- DBMS 지원:
- MySQL, PostgreSQL, SQL Server 등 대부분의 DBMS에서 지원.
예제
1. 첫 번째 NULL이 아닌 값 반환
문제: 이름과 별칭이 있는 경우 별칭을 우선적으로 표시, 없으면 이름을 표시.
SELECT student_id,
COALESCE(nickname, name) AS display_name
FROM Students;
2. 다중 값 평가
문제: 선호하는 이름(preferred_name)이 있는 경우 이를 표시, 그렇지 않으면 별칭(nickname), 마지막으로 이름(name) 표시.
SELECT student_id,
COALESCE(preferred_name, nickname, name) AS display_name
FROM Students;