SQL

[SQL] NULL 값, IS NULL 연산자 의미&사용법&예제 - 빈 값 찾기

정선셋 2023. 2. 5. 23:55

👇 SQL 혼자 공부하기!

 

SQL NULL Values - IS NULL and IS NOT NULL

W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.

www.w3schools.com


 

SQL NULL 값이란?

SQL에서 NULL 값은 값이 없다는 의미입니다.

이 전에 INSERT INTO 구문에서 배운 것처럼, 테이블의 필드가 선택사항인 경우 특정 필드에 값을 추가하지 않고 새로운 행을 삽입하거나 업데이트할 수 있습니다. 그러면 값이 없는 곳이 NULL 값으로 저장됩니다.

(* 단, NULL 값은 0이나 공백인 필드와는 다릅니다.)

 

 

SQL IS NULL 구문, IS NOT NULL 구문 사용법

NULL 값은 =, <, >, <>와 같은 비교 연산자로 비교하거나 테스트할 수 없습니다.

NULL 값을 찾거나 테스트하려면 IS NULL 연산자나, IS NOT NULL 연산자를 사용해야 합니다.

 

IS NULL 연산자는 NULL 값, 즉 비어있는 값을 찾을 때,

IS NOT NULL 연산자는 NULL 값이 아닌 값, 즉 비어있지 않은 값을 찾을 때 사용됩니다.

 

  • IS NULL 구문 (NULL 값인지/빈 값인지 판단하기)
-- column_name가 null인 값만 조회하기
SELECT column_names
FROM table_name
WHERE column_name IS NULL;

 

  • IS NOT NULL 구문 (NULL 값이 아닌지/값이 있는지 판단하기)
-- column_names가 null이 아닌 값만 조회하기
SELECT column_names
FROM table_name
WHERE column_name IS NOT NULL;

 

IS NULL/IS NOT NULL 구문 사용 예시 (예제)

아래 Customers 테이블에서 NULL 값이 있는/없는 자료만 출력해봅시다.

Customers 테이블

-- Customers 테이블에서 Address가 null인 고객의 CustomerName, ContactName, Address 값만 출력하기
SELECT CustomerName, ContactName, Address
FROM Customers
WHERE Address IS NULL;

SQL 실행 결과

(Address가 비어있는 레코드가 없어 값이 출력되지 않았습니다.)

 

--Address 값이 있는 고객의 CustomerName, ContactName, Address 출력하기
SELECT CustomerName, ContactName, Address
FROM Customers
WHERE Address IS NOT NULL;

SQL 실행 결과