NULL과 NOT NULL
SQL에서 NULL
은 값이 없거나 알 수 없음을 나타내는 특별한 상태를 의미합니다.
숫자 0
이나 빈 문자열(''
)과는 전혀 다르며, 말 그대로 "값 자체가 존재하지 않음"을 뜻합니다.
NULL 값
데이터가 항상 완전하지는 않기 때문에 일부 컬럼에는 NULL
값이 들어갈 수 있습니다.
예를 들어, 고객이 이메일을 제공하지 않은 경우 email
컬럼에 NULL
이 저장될 수 있습니다.
IS NULL로 NULL 확인하기
IS NULL
또는 IS NOT NULL
을 사용해 컬럼 값이 NULL
인지 여부를 확인할 수 있습니다.
이메일이 없는 고객 찾기
SELECT name
FROM clients
WHERE email IS NULL;
위 예시는 이메일을 제공하지 않은 고객만 조회하는 쿼리입니다.
IS NOT NULL로 값 존재 여부 확인하기
IS NOT NULL
을 사용하면 특정 컬럼에 값이 존재하는 행만 선택할 수 있습니다.
이메일이 있는 고객 찾기
SELECT name
FROM clients
WHERE email IS NOT NULL;
NULL
값은=
또는!=
같은 일반 비교 연산자로 확인할 수 없습니다.- 반드시
IS NULL
또는IS NOT NULL
을 사용해야 합니다.
NOT NULL 제약
NOT NULL
제약 조건을 사용하면 테이블 생성 시 해당 컬럼에 누락된 값이 들어가는 것을 방지할 수 있습니다.
NOT NULL 제약으로 테이블 생성
CREATE TABLE clients (
id INT NOT NULL,
name TEXT NOT NULL,
email TEXT,
signup_date TEXT
);
위 예시에서는 id
와 name
컬럼에 반드시 값이 입력되어야 하며, 비워둘 수 없습니다.
NULL과 NOT NULL의 중요성
- 데이터 무결성을 유지
- 보고서와 필터링의 정확성 확보
- 쿼리 결과의 예기치 않은 오류 방지
다음 내용이 궁금하다면?
코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!