728x90
728x90
SQL에서 NULL은 아무 데이터가 있지 않은 상태를 말한다.
이 데이터 공백을 누락한 채 Average(AVG) 같은 연산 식을 구하면 결과값에 큰 차이가 날 수 있는데,
이때 COALESCE(코어레스) 함수와 IFNULL 함수 구문을 사용하여 대응할 수 있다.
구문을 살펴보기 이전에 'Coalesce'라는 단어의 사전적 의미를 찾아보았다.
(더 큰 덩어리로) 합치다/연합하다/제휴하다
사전적 의미에서 보았듯이, NULL값을 반환하여 데이터에 포함시킨 후 정확한 데이터 값을 추출할 수 있도록 하는 것이다!
NULL값을 연산 데이터에 포함시키는 방법은 2가지가 있다.
1. COALESCE(컬럼명, 0)
> 컬럼값이 NULL이면 0을 반환한다.
2. IFNULL(컬럼명,0)
> 컬럼값이 NULL이면 0을 반환한다.
위의 함수를 사용하여 아래와 같이 NULL 대응/비대응 쿼리문 예시를 작성해보았다.
| NULL 대응하지 않는 쿼리문
SELECT AVG(PurchasePrice)
FROM Sales;
| NULL 대응하는 쿼리문
1. COALESCE 함수 사용
SELECT AVG(COALESCE(PurchasePrice,0))
FROM Sales;
2. IFNULL 함수 사용
SELECT AVG(IFNULL(PurchasePrice,0))
FROM Sales;
728x90
728x90
'TOOLS > My SQL' 카테고리의 다른 글
[My SQL] 요일별 매출 - DAYOFWEEK 함수 / 날짜에서 요일 출력하기 (0) | 2023.02.22 |
---|---|
[SQLD 합격] 46회 SQL 개발자 시험 비전공자 2수 합격 + 가이드라인 (0) | 2022.09.26 |
[My SQL] 구매빈도(Frequency) 확인 - 중복 값 산출 쿼리문 (0) | 2022.03.20 |
[내만내뜯SQL] W3Schools DB 활용한 My SQL 쿼리문 - 2 (0) | 2022.02.01 |
[내만내뜯SQL] W3Schools DB 활용한 My SQL 쿼리문 - 1 (0) | 2022.01.30 |