2024.07.02
✳️ COALESCE ( )
: 주어진 리스트 중에서 첫 번째 NULL 이 아닌 값을 반환, 모든 인자가 NULL일 경우에는 NULL을 반환
COALESCE(value1, value2, value3, ..., valueN)
⭐ 사용 예시
1️⃣ 친화적 정보 제공
null 이라는 표현 보다 '없다' 라는 걸 직관적으로 표현해서 제공할 경우
name |
밤비 |
심바 |
NULL |
SELECT COALESCE(name, '이름 없음') AS CAT_NAME
FROM CATS;
# CAT_NAME
# 밤비
# 심바
# 이름 없음
2️⃣ 데이터 분석 및 계산
null 값 때문에 데이터 분석이나 계산을 할 때 올바른 결과를 얻지 못할 경우
만약에 할인율이 NULL이어서 0으로 간주하고 최종 가격을 계산하려고 한다면,
SELECT price - (price * COALESCE(discount_rate, 0)) AS discounted_price
FROM orders ;
이렇게 대체값으로 0을 넣어주면서 계산을 할 수 있게 만들 수 있다.
3️⃣ 데이터 무결성 유지
* 데이터 무결성 : 정확성, 일관성, 유효성이 유지되는 것
null 값은 때로 데이터의 무결성을 해친다고 한다.
만약에 여러 컬럼 중에 하나라도 null이 아니라는 것을 보장해야 할 때 이용할 수도 있다.
name | nickname | ID |
김동그라미 | 동글 | null |
null | null | square_123 |
null | 세모세모 | null |
null | null | null |
SELECT COALESCE(name, nickname, ID, '알 수 없음') AS INFO
FROM USERS;
# INFO
# 김동그라미
# square_123
# 세모세모
# 알 수 없음
'📒 Today I Learn > 🐬 SQL' 카테고리의 다른 글
[SQL] 날짜 관련 함수 정리 (0) | 2024.07.04 |
---|---|
[SQL] WITH 절 (0) | 2024.07.03 |
[SQL] 문자열에 공백 넣기, CONCAT_WS, NULL과 공백값 구분, NULLIF와 IFNULL (0) | 2024.07.02 |
[SQL] Window 함수 (0) | 2024.07.01 |
[SQL] REGEXP, 날짜 추출 함수, 올림/반올림/내림/버림 (0) | 2024.06.26 |