학습 자료

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 대체하기: COALESCEIFNULL

COALESCEIFNULL을 사용해 NULL 값을 기본값으로 바꿀 수 있습니다.

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

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

다음과 같은 테이블이 있다고 가정해 봅시다.

user_idcourse_namefeedback_text
1SQL BasicsGreat course!
2SQL BasicsNULL
3SQL BasicsNULL

누락된 피드백을 'No comment'으로 바꾸고 싶습니다.

누락된 피드백을 '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 테이블 구조

실행 결과