반응형
# 구동 환경 : Postgre SQL 12.3 설치 -> pgAdmin4에서 아래 DB 연동 -> DBeaver 7.1.2 버전에서 코딩 진행
# 활용하는 DB = dvdrental.tar
IS NULL 연산자는 특정 컬럼 혹은 값이 NULL 값인지 아닌지를 판단하는 연산자입니다. IS NULL 혹은 IS NOT NULL로 NULL 유무를 판단합니다.
PostgreSQL의 IS NULL 연산자: 사용 이유와 중요성
IS NULL 연산자는 SQL 쿼리에서 특정 열의 값이 NULL인지 여부를 확인하는 데 사용됩니다. 이는 데이터베이스 관리 및 데이터 무결성 유지에서 매우 중요한 도구입니다. 왜 IS NULL 연산자를 사용해야 하며, 무엇이 중요한지에 대해 자세히 살펴보겠습니다.
IS NULL 연산자를 사용하는 이유
- 데이터 무결성 유지: 데이터베이스에서 NULL 값은 데이터가 존재하지 않음을 의미합니다. IS NULL 연산자를 사용하면 데이터 무결성을 유지하고, 데이터가 없는 경우를 처리할 수 있습니다.
- 정확한 데이터 조회: NULL 값을 확인하고 처리함으로써 데이터 조회의 정확성을 높일 수 있습니다. 이는 보고서 작성이나 데이터 분석 시 매우 중요합니다.
- 조건부 처리: 특정 열이 NULL인 경우와 아닌 경우를 구분하여 조건부 처리를 수행할 수 있습니다. 예를 들어, 고객의 이메일 주소가 없는 경우와 있는 경우를 다르게 처리할 수 있습니다.
- 데이터 정리 및 보정: NULL 값을 확인하여 데이터를 정리하거나 보정할 수 있습니다. 예를 들어, NULL 값을 기본값으로 대체하거나, 데이터 입력 오류를 수정할 수 있습니다.
IS NULL 연산자의 중요성
- 데이터 무결성 보장: IS NULL 연산자는 데이터 무결성을 보장하는 데 중요한 역할을 합니다. 이를 통해 데이터베이스에서 누락된 데이터를 식별하고 적절한 조치를 취할 수 있습니다.
- 쿼리 성능 최적화: NULL 값을 명확하게 처리함으로써 쿼리 성능을 최적화할 수 있습니다. 특히, 인덱스가 적용된 열에서 NULL 값을 효율적으로 처리할 수 있습니다.
- 유연한 데이터 처리: IS NULL 연산자를 사용하면 데이터의 유무에 따라 유연한 조건부 처리를 수행할 수 있습니다. 이는 다양한 데이터 처리 시나리오에서 매우 유용합니다.
- 데이터 분석 정확성 향상: NULL 값을 명확히 처리함으로써 데이터 분석의 정확성을 향상시킬 수 있습니다. 이는 분석 결과의 신뢰성을 높이는 데 기여합니다.
IS NULL 연산자의 활용
- 기본 사용: employees 테이블에서 이메일 주소가 없는 직원들을 조회합니다.
- NOT NULL 사용: 이메일 주소가 있는 직원들을 조회할 수 있습니다.
- 조건부 업데이트: employees 테이블에서 이메일 주소가 NULL인 경우 기본 이메일 주소로 업데이트합니다.
- NULL 값 처리: orders 테이블에서 배송일이 NULL인 경우 '배송 준비 중'으로 표시합니다.
- JOIN 시 NULL 값 처리: LEFT JOIN을 사용하여 orders 테이블과 customers 테이블을 결합할 때, 고객 정보가 없는 주문을 조회합니다.
예제를 생성하고 내용을 진행해보겠습니다.
CREATE TABLE CONTACTS -- 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)');
SELECT *
FROM CONTACTS; -- CONTACTS테이블의 모든 값을 출력
예재가 잘 생성되었습니다.
SELECT
ID
,FIRST_NAME
,LAST_NAME
,EMAIL
,PHONE
FROM
CONTACTS
WHERE PHONE IS NULL; -- PHONE컬럼의 값이 NULL인 집합을 출력
-- WHERE PHONE = NULL
-- 은 결과 집합이 공집합입니다. NULL은 '='연산으로 비교할 수 없습니다.
PHONE이 NULL값인 유저가 잘 출력되었습니다.
SELECT
ID
,FIRST_NAME
,LAST_NAME
,EMAIL
,PHONE
FROM
CONTACTS
WHERE PHONE IS NOT NULL; -- PHONE컬럼의 값이 NULL이 아닌 집합을 출력
PHONE이 NULL값이 아닌 유저가 잘 출력되었습니다.
결론
PostgreSQL의 IS NULL 연산자는 데이터베이스에서 NULL 값을 확인하고 처리하는 데 매우 유용한 도구입니다. 이를 통해 데이터 무결성을 유지하고, 정확한 데이터 조회와 유연한 조건부 처리를 수행할 수 있습니다. IS NULL 연산자를 잘 활용하면 데이터베이스 작업이 훨씬 더 효율적이고 정확하게 이루어질 것입니다.
다음에는 배운것들을 가지고 연습문제를 풀어보도록 하겠습니다.
반응형
'데이터 분석 > Postgre SQL - 정리하자' 카테고리의 다른 글
LIKE 연산자는? (0) | 2024.07.12 |
---|---|
BETWEEN 연산자란? (0) | 2024.07.12 |
IN 연산자를 활용해보자 (0) | 2024.07.11 |
Fetch문을 왜 사용해야 할까? (0) | 2024.07.11 |
Limit 문은 언제 어떻게 쓰일까? (0) | 2024.07.10 |