데이터베이스에서는 종종 데이터가 누락되거나, 초기 값이 설정되지 않아 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 값을 체크하고 처리할 수 있습니다. 이러한 기능들을 활용하여 데이터의 누락을 방지하고, 안정적인 데이터 처리를 위한 기반을 마련할 수 있습니다.
'Language > SQL' 카테고리의 다른 글
[MYSQL] 다중테이블 JOIN문 쓰기 (0) | 2021.01.12 |
---|---|
[MYSQL] 테이블을 limit 만큼 검색(select)하여 join으로 해당 테이블 합치기 (장바구니) (0) | 2021.01.05 |
[MYSQL] 검색한결과 업데이트 하기 update, select (0) | 2021.01.04 |
[MYSQL] 여러테이블에서 검색한 결과 합치기 select * select (0) | 2021.01.04 |
[MYSQL] 데이터베이스 검색하기 select 문, 검색된 rows 갯수 알기, 정렬은 order by ASC 혹은 DESC (0) | 2020.10.13 |