SQL COALESCE in Postgres: A Simple Guide
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
개발 툴
대상자
PostgreSQL 개발자 및 SQL 초보자
- 난이도: 중급 이하 (NULL 처리 및 단순 조건 판단에 초점)
핵심 요약
COALESCE
함수는NULL
값을 첫 번째 비-null 값으로 대체하는 간결한 방법 제공CASE
문 대비 더 짧고 가독성이 높은 쿼리 작성 가능- 다중 컬럼(
clearance_price
,discount_price
,regular_price
)에 대한NULL
처리 시 유연한 적용 가능
섹션별 세부 요약
1. `NULL` 값의 문제점
NULL
은 데이터가 존재하지 않는 상태를 나타내며, 사용자에게 직접 노출시 혼란 유발- 예시:
discount_price
가NULL
인 제품의 경우regular_price
가 대체되어야 함
2. `CASE` 문 사용 예시
CASE
문으로 조건을 직접 작성하여NULL
대체- 코드 예시:
CASE
WHEN discount_price IS NOT NULL THEN discount_price
ELSE regular_price
END AS final_price
3. `COALESCE` 함수 사용 예시
COALESCE(discount_price, regular_price)
로NULL
대체- 코드 간결성과 가독성 향상
- 결과:
product_name | final_price
---|---
Jeans | 50.00
Socks | 8.00
4. 다중 컬럼 적용 예시
clearance_price
추가 후COALESCE(clearance_price, discount_price, regular_price)
사용- 순차적으로
NULL
이 아닌 첫 번째 값 반환
결론
COALESCE
는NULL
처리에 최적화된 간단한 함수로,CASE
문보다 코드 효율성이 높음- 다중 컬럼 처리 시
COALESCE
를 사용하여 복잡한 조건을 간결하게 표현 가능 - 실무에서
NULL
대체 로직이 필요한 경우COALESCE
를 우선적으로 고려