4.NULL
NULL이란 정해지지 않은 값, 해당 사항이 없음, 알려지지 않은 값 등을 나타낼 때 사용
ex) 테이블에 값을 추가할 때 나중에 특정 조건에 따라 설정해야 해서 미리 설정할 수 없는 필드
1. Null의 특징
1-1. null과 null이 서로 같을 수 없음
rental 테이블에서 customer_id가 155번인 대여기록 중 rental_id, customer_id, return_date 열만 조회
sql
SELECT rental_id, customer_id, return_date FROM rental WHERE customer_id = 155;rental 테이블에서 영화(film)를 반납하지 않은 대여기록 중 rental_id, customer_id, return_date 조회
sql
SELECT rental_id, customer_id, return_date FROM rental WHERE return_date = NULL;→ return_date도 null이고, Null도 null이기 때문에 두 개의 null이 서로 같을 수 없다는 특징 때문에 해당되는 조건이 필터링(WHERE) 되지 않고 Empty set을 반환하게 됨
rental 테이블에서 영화(film)를 반납하지 않은 대여기록 중 rental_id, customer_id, return_date 조회
sql
SELECT rental_id, customer_id, return_date FROM rental WHERE return_date IS NULL;→ 해당 필드가 Null인지 확인하기 위해서는 IS NULL 연산자를 사용함
rental 테이블에서 영화를 반납한 대여기록 중 rental_id, customer_id, return_date를 상위 50개만 조회
sql
SELECT rental_id, customer_id, return_date
FROM rental
WHERE return_date IS NOT NULL LIMIT 50;→ IS NOT NULL 키워드 사용
rental 테이블에서 2005년 5월에서 8월 사이에 반납되지 않은 대여기록 중 rental_id, customer_id, return_date를 조회
sql
SELECT rental_id, customer_id, return_date
FROM rental
WHERE return_date NOT BETWEEN '2005-05-01' AND '2005-09-01';→ 아까 조회한 null 데이터 기록은 포함되지 않았음
null까지 포함하기 위해서는 별도의 조건을 작성해야 함
sql
SELECT rental_id, customer_id, return_date
FROM rental
WHERE return_date IS NULL
OR
return_date NOT BETWEEN '2005-05-01' AND '2005-09-01';Last updated on