🌿 중급 DB
NULL 값이 뭔가요?
쉽게 이해하기
설문조사에서 어떤 질문에 답을 안 했다면 그 칸은 비어있어요. 0도 아니고, '없음'이라고 쓴 것도 아니에요. 그냥 답이 없는 거예요. NULL이 바로 이런 '비어있음'을 나타내요.
핵심 정리
NULL은 데이터베이스에서 '값이 없음' 또는 '알 수 없음'을 나타내는 특별한 값이에요.
자세히 알아보기
NULL은 데이터베이스에서 값이 존재하지 않거나 알 수 없음을 나타내는 특수한 값이에요. 빈 문자열('')이나 숫자 0과는 완전히 다른 개념이에요.
예를 들어 회원 테이블에서 전화번호 컬럼이 있다고 해볼게요. 어떤 회원은 전화번호를 입력했고, 어떤 회원은 선택 항목이라 입력하지 않았어요. 입력하지 않은 경우를 NULL로 저장해요. 이건 '전화번호가 없다'가 아니라 '전화번호를 모른다' 또는 '입력하지 않았다'는 의미예요.
NULL을 다룰 때 주의할 점이 있어요. NULL은 비교 연산자(=, !=)로 비교할 수 없어요. 대신 IS NULL이나 IS NOT NULL을 사용해야 해요. 또한 NULL이 포함된 계산 결과는 대부분 NULL이 돼요. 예를 들어 100 + NULL은 NULL이에요.
실무에서는 NULL을 허용할지 말지 신중하게 결정해야 해요. 필수 입력 항목이면 NOT NULL 제약을 걸어서 NULL을 막고, 선택 항목이면 NULL을 허용하되 애플리케이션에서 NULL 처리를 꼼꼼히 해야 해요. NULL을 제대로 다루지 않으면 예상치 못한 버그가 생길 수 있어요.