기초 SQL입문
NULL 처리
SQL에서 NULL은 "값이 없음"을 의미하며, 일반적인 비교 연산과 다른 규칙이 적용된다
정의
NULL은 "값이 없다"는 뜻으로, 0이나 빈 문자열과는 완전히 다르다. 예를 들어 전화번호를 모르는 고객의 phone 컬럼은 NULL이다. NULL을 비교할 때는 = 가 아닌 IS NULL / IS NOT NULL을 써야 한다. WHERE phone = NULL은 절대 결과가 안 나온다.
왜 중요한가?
NULL은 SQL에서 가장 흔한 실수의 원인. = 로 비교하면 결과가 항상 비어버리고, 합계/평균 같은 계산에서도 NULL은 자동으로 제외된다. NULL을 0으로 취급하면 통계가 어긋날 수 있어 의미를 정확히 알아야 한다.
틀리기 쉬운 포인트
예시
SELECT name, COALESCE(phone, '연락처 없음') AS phone FROM employees WHERE email IS NOT NULL;
성능 포인트
!B-tree 인덱스는 NULL 미저장. IS NULL이 자주 쓰이면 함수 기반 인덱스를 검토하라.