Computer >> 컴퓨터 >  >> 프로그래밍 >> SQL Server

SQL Server IS NOT NULL 조건 완벽 가이드 – 문법과 실전 예제

이 글에서는 SQL Server에서 IS NOT NULL 조건을 사용하는 방법을 기본 문법과 다양한 실전 예제를 통해 자세히 살펴봅니다.

SQL Server의 IS NOT NULL 조건은 특정 값이 NULL이 아닌지 여부를 확인할 때 사용합니다. 테이블에서 NULL 값이란 필드가 비어 있음을 의미하며, 즉 해당 필드에 아무런 값도 저장되어 있지 않다는 뜻입니다.

IS NOT NULL 기본 문법

expression IS NOT NULL

매개변수 및 반환값

  • 표현식(expression)의 값이 NULL이 아니면 TRUE를 반환합니다.
  • 표현식의 값이 NULL이면 FALSE를 반환합니다.

참고: NULL은 빈 문자열('')이나 숫자 0과는 다른 개념입니다. NULL은 '값이 존재하지 않음'을 나타내는 특수한 상태이므로 일반적인 비교 연산자(=, <>)로는 판별할 수 없으며, 반드시 IS NULL 또는 IS NOT NULL 조건을 사용해야 합니다.

예제 1. SELECT문에서 IS NOT NULL 사용

SELECT *
FROM nhanvien
WHERE ho IS NOT NULL;

위 예제는 직원 테이블(nhanvien)에서 성(ho) 필드에 NULL이 아닌 값이 저장되어 있는, 즉 비워 두지 않은 모든 레코드를 조회합니다.

예제 2. INSERT문에서 IS NOT NULL 사용

INSERT INTO danhba
(danhba_id, ho, ten)
SELECT nhanvien_id, ho, ten
FROM nhanvien
WHERE ho IS NOT NULL;

이 명령문은 직원 테이블(nhanvien)에서 성(ho) 필드가 NULL이 아닌 레코드만 선택하여 연락처 테이블(danhba)에 새롭게 삽입합니다.

예제 3. UPDATE문에서 IS NOT NULL 사용

UPDATE nhanvien
SET tinhtrang = 'Active'
WHERE ho IS NOT NULL;

이 명령문은 직원 테이블에서 성(ho) 필드가 NULL이 아닌 레코드의 상태(tinhtrang) 값을 'Active'로 업데이트합니다.

예제 4. DELETE문에서 IS NOT NULL 사용

DELETE FROM nhanvien
WHERE tinhtrang IS NOT NULL;

이 예제는 상태(tinhtrang) 필드에 NULL이 아닌 값이 들어 있는 모든 레코드를 직원 테이블에서 삭제합니다.

IS NOT NULL 조건은 데이터 정합성을 유지하고 불완전한 데이터를 걸러낼 때 매우 유용하게 활용됩니다. 특히 대량의 데이터를 조회하거나 마이그레이션 작업을 수행할 때 NULL 처리 규칙을 미리 명확히 해두면 예기치 못한 오류를 크게 줄일 수 있습니다.