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 테이블 구조
실행 결과