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
이면 기본값으로 대체합니다(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'으로 바꾸고 싶습니다.
누락된 피드백을 '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 테이블 구조
실행 결과