NULL
값이 없는 데이터인 경우 NULL로 채워진다. NULL은 결측치(Missing Value)이므로 데이터 조회, 처리 시 NULL이 없는 데이터만 조회하거나 NULL이 아닌 다른 값으로 치환하는 경우가 발생한다.
💡 결측치
Missing Value. 데이터에 값이 없는 것을 뜻한다.
줄여서 NA 또는 Null로 표현된다.
이 글에서는 NULL을 처리하는 몇 가지 방법을 정리한다.
IS NULL / IS NOT NULL
=, <>와 같은 비교 연산자로는 NULL을 조회할 수 없다. 따라서 NULL을 조회할 때에는 IS NULL, IS NOT NULL연산자를 사용해야 한다.
IS NULL은 NULL인 데이터를, IS NOT NULL은 NULL이 아닌 테이터를 조회한다.
IS NULL
SELECT column_names
FROM table_name
WHERE column_name IS NULL;
# 예시
SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE 1=1
AND NAME IS NULL;
IS NOT NULL
SELECT column_names
FROM table_name
WHERE column_name IS NOT NULL;]
# 예시
SELECT ANIMAL_ID
FROM ANIMAL_INS
WHERE 1=1
AND NAME IS NOT NULL;
IFNULL()
데이터가 NULL인 데이터를 다른 값으로 출력한다.
IFNULL(expression, alt_value)
# 예시
SELECT IFNULL(NULL, "대체 텍스트");
COALESCE()
목록에서 NULL이 아닌 첫 번째 값을 반환한다.
COALESCE(val1, val2, ...., val_n)
# 예시
SELECT COALESCE(NULL, NULL, NULL, 'tistory', NULL, 'passwd');
참고 문서
https://www.w3schools.com/mysql/mysql_null_values.asp