Language/SQL
[MYSQL] 쿼리문에서 NULL 값 체크 및 값 변경
멱군
2021. 1. 4. 19:12
데이터베이스에서는 종종 데이터가 누락되거나, 초기 값이 설정되지 않아 NULL 값을 가진 데이터를 마주하게 됩니다. NULL 값은 특정 값이 없음을 의미하며, 이를 제대로 처리하지 않으면 쿼리 실행 시 예기치 않은 결과나 오류를 발생시킬 수 있습니다. 이번 글에서는 MYSQL에서 NULL 값을 체크하고, 필요에 따라 값을 변경하는 방법에 대해 알아보겠습니다.
IFNULL 함수를 활용한 NULL 값 처리
- `IFNULL` 함수는 첫 번째 인자 값이 NULL인 경우 두 번째 인자 값을 반환합니다.
SELECT IFNULL(column_name, 'default_value') FROM table_name;
- 예를 들면, IFNULL(A, B) : 만약 A의 값이 NULL 이라면, B의 값을 출력하여라
SELECT *
IFNULL((SELECT result FROM table2 AS B WHERE B.idx = A.idx ), '0') AS table2result
from table1 AS A
WHERE A.idx = 1
- 위 쿼리는 table2의 result 컬럼 값이 NULL일 경우 '0'을 반환합니다.
NULL 값 확인하기
- IS NULL 조건을 사용하여 NULL 값을 가진 레코드를 조회할 수 있습니다.
SELECT * from table1 where result IS null;
NULL 값이 아닌 데이터 확인하기
- IS NOT NULL 조건을 사용하여 NULL 값을 가지지 않은 레코드를 조회할 수 있습니다.
SELECT * from table1 where result IS NOT null;
다른 함수를 활용한 NULL 값 처리
- MYSQL에서는 COALESCE 함수 등 다른 방법들도 제공하여 NULL 값을 다룰 수 있습니다.
- COALESCE 함수는 여러 인자 중에서 첫 번째 NULL이 아닌 값을 반환합니다.
SELECT COALESCE(column_name, 'default_value') FROM table_name;
결론
데이터베이스에서 NULL 값을 올바르게 다루는 것은 중요합니다. MYSQL에서는 IFNULL, IS NULL, COALESCE 등 다양한 방법으로 NULL 값을 체크하고 처리할 수 있습니다. 이러한 기능들을 활용하여 데이터의 누락을 방지하고, 안정적인 데이터 처리를 위한 기반을 마련할 수 있습니다.