학습 자료

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

COALESCEIFNULL을 사용하면 NULL 값을 지정한 기본값으로 대체할 수 있습니다.

  • COALESCE(value1, value2, ...) : 첫 번째로 NULL이 아닌 값을 반환
  • IFNULL(value, fallback) : 값이 NULL이면 fallback으로 대체 (MySQL, SQLite 등 일부 엔진에서만 지원)

예시: 누락된 피드백을 'No comment'로 대체

다음과 같은 테이블이 있다고 가정합니다.

user_idcourse_namefeedback_text
1SQL BasicsGreat course!
2SQL BasicsNULL
3SQL BasicsNULL
누락된 피드백을 'No comment'으로 대체
SELECT user_id, course_name, COALESCE(feedback_text, 'No comment') AS comment FROM course_feedback;

결과

user_idcourse_namecomment
1SQL BasicsGreat course!
2SQL BasicsNo comment
3SQL BasicsNo comment

NULL을 처리해야 하는 이유

  • NULL을 고려하지 않으면 필터링 결과가 잘못될 수 있습니다.
  • CASE 표현식이나 계산식이 깨질 수 있습니다.
  • 분석 및 리포트에서 데이터 품질 문제가 발생할 수 있습니다.

따라서 NULL을 적절히 처리하면 데이터의 일관성과 해석력을 높일 수 있습니다.

Quiz
0 / 1

여러 표현식 목록에서 첫 번째 NULL이 아닌 값을 반환하는 SQL 함수는 무엇인가요?

IS NULL

COALESCE

IFNULL

NULLIF

학습 자료

AI 튜터

디자인

업로드

수업 노트

즐겨찾기

도움말

코드 에디터

코드 실행
코드 생성

DB 테이블 구조

실행 결과