학습 자료
SQL에서 NULL 처리
SQL에서 NULL은 누락되었거나 알 수 없는 값을 의미합니다.
0, 빈 문자열(''), false와는 다르며, 단순히 “값이 존재하지 않음”을 나타냅니다.
NULL을 올바르게 감지하고 처리하는 것은 정확한 쿼리 작성과 데이터 분석에서 매우 중요합니다.
NULL 확인하기
NULL과 비교할 때는 = 또는 != 연산자를 사용할 수 없습니다.
대신 다음과 같은 연산자를 사용합니다.
IS NULL: 값이NULL인지 확인IS NOT NULL: 값이NULL이 아닌지 확인
피드백이 없는 사용자 찾기
SELECT user_id FROM course_feedback WHERE feedback_text IS NULL;
NULL 대체하기: COALESCE와 IFNULL
COALESCE와 IFNULL을 사용하면 NULL 값을 지정한 기본값으로 대체할 수 있습니다.
COALESCE(value1, value2, ...): 첫 번째로NULL이 아닌 값을 반환IFNULL(value, fallback): 값이NULL이면fallback으로 대체 (MySQL, SQLite 등 일부 엔진에서만 지원)
예시: 누락된 피드백을 'No comment'로 대체
다음과 같은 테이블이 있다고 가정합니다.
| user_id | course_name | feedback_text |
|---|---|---|
| 1 | SQL Basics | Great course! |
| 2 | SQL Basics | NULL |
| 3 | SQL Basics | NULL |
누락된 피드백을 'No comment'으로 대체
SELECT user_id, course_name, COALESCE(feedback_text, 'No comment') AS comment FROM course_feedback;
결과
| user_id | course_name | comment |
|---|---|---|
| 1 | SQL Basics | Great course! |
| 2 | SQL Basics | No comment |
| 3 | SQL Basics | No comment |
NULL을 처리해야 하는 이유
NULL을 고려하지 않으면 필터링 결과가 잘못될 수 있습니다.CASE표현식이나 계산식이 깨질 수 있습니다.- 분석 및 리포트에서 데이터 품질 문제가 발생할 수 있습니다.
따라서 NULL을 적절히 처리하면 데이터의 일관성과 해석력을 높일 수 있습니다.
Quiz
0 / 1
여러 표현식 목록에서 첫 번째 NULL이 아닌 값을 반환하는 SQL 함수는 무엇인가요?
IS NULL
COALESCE
IFNULL
NULLIF
학습 자료
AI 튜터
도움말
코드 에디터
코드 실행
코드 생성
DB 테이블 구조
실행 결과