SQL 데이터 조회와 필터링 : IS NULL 연산자


IS NULL 연산자

이 학습은 패스트캠퍼스의 올인원 패키지 : 모두를 위한 SQL/DB 강의를 듣고 복습하는 내용입니다.

img

## NULL 이란?

-> 아무것도 넣지 않는 공간(아무것도 아닌 것)

IS NULL 연산자 문법

특정 집합을 추력 시 출력하는 행의 수를 한정하는 역할을 한다. 부분 범위 처리시 사용된다.


● IS NULL

img

>> COLUMN_NAME 컬럼의 값이 NULL인 집합을 출력한다.

● IS NOT NULL

img

>> COLUMN_NAME 컬럼의 값이 NULL이 아닌 집합을 출력한다.


IS NULL 실습

● 테이블 만들기

CREATE TABLE CONTACTS 
(
    ID INT GENERATED BY DEFAULT AS IDENTITY
  , FIRST_NAME VARCHAR(50) NOT NULL
  , LAST_NAME VARCHAR(50) NOT NULL
  , EMAIL VARCHAR(255) NOT NULL
  , PHONE VARCHAR(15)
  , PRIMARY KEY (ID) 
);

 INSERT 
   INTO 
   CONTACTS(FIRST_NAME, LAST_NAME, EMAIL, PHONE) 
 VALUES
   ('John','Doe','john.doe@example.com',NULL),
       ('Lily','Bush','lily.bush@example.com','(408-234-2764)');

COMMIT;       

» 컬럼이 ID, FIRST_NAME, LAST_NAME, EMAIL, PHONE인 테이블을 만들고(COMMIT할 필요 없다.)

값을 INSERT 한다.(COMMIT 필요)

- 확인

SELECT
	*
FROM
	CONTACTS;

img

● 기본 실습

- 쿼리문

 SELECT
       ID
     , FIRST_NAME
     , LAST_NAME
     , EMAIL
     , PHONE
  FROM
       CONTACTS
WHERE PHONE IS NULL;

- 실행 결과

img

>> PHONE 컬럼의 값이 NULL인 행만 출력되었다.

- 아래와 같이 PHONE = NULL으로 쿼리문을 작성하면 아무것도 출력되지 않는다.

SELECT
       ID
     , FIRST_NAME
     , LAST_NAME
     , EMAIL
     , PHONE
  FROM
       CONTACTS
 WHERE PHONE = NULL;

● IS NOT NULL

- 쿼리문

SELECT
       ID
     , FIRST_NAME
     , LAST_NAME
     , EMAIL
     , PHONE
  FROM
       CONTACTS
WHERE PHONE IS NOT NULL;

- 실행결과

img

>> PHONE이 NULL값이 아닌 행만 출력되었다.

## NULL은 아무것도 아니라고 표시한 값이며, 추출하려면 ‘=’ 쓰면안되고,

IS NULL, IS NOT NULL 쿼리문을 사용해야 한다.


© 2021. All rights reserved.

----------Powered by Hydejack----------

kyusang Hwang