SQL) NULL의 처리방식 IS NULL 과 = NULL

나가을·2024년 7월 15일

sql

목록 보기
2/3

SQL에서 NULL 값을 올바르게 처리하는 것은 중요하다. NULL 값은 누락되었거나 알 수 없는 데이터를 나타낸다. NULL과 관련된 두 가지 일반적인 작업은 값이 NULL인지 확인하는 것과 값을 NULL과 비교하는 것이다. 'IS NULL'과 '= NULL'의 차이점을 설명한다.

IS NULL

  • 목적: 열 또는 표현식이 NULL인지 확인하는 데 사용된다.
  • 문법: column_name IS NULL
  • 용도: 특정 열이 NULL인 행을 필터링할 때 사용된다.

예제:

SELECT * FROM Employees WHERE Department IS NULL;

이 쿼리는 부서가 할당되지 않은 모든 직원을 선택한다.

= NULL

  • 목적: SQL에서 잘못된 사용법으로, NULL과의 비교는 예상한 대로 작동하지 않는다.
  • 문법: column_name = NULL (잘못된 문법)
  • 용도: SQL에서 NULL 값과 비교하려고 '= NULL'을 사용하지 않는다. SQL에서 NULL 값은 알 수 없는 값을 나타내며, 어떤 값과 NULL을 비교하면 결과도 알 수 없게 된다(또는 NULL이 된다). 따라서 column_name = NULLTRUE 또는 FALSE를 반환하지 않고 NULL을 반환하며, 이는 WHERE 절에서 FALSE로 처리된다.

잘못된 예제:

SELECT * FROM Employees WHERE Department = NULL;

이 쿼리는 Department가 NULL인 행이 있어도 아무런 행도 반환하지 않는다. 이는 '= NULL'이 유효한 비교가 아니기 때문이다.

IS NOT NULL

  • 목적: 열 또는 표현식이 NULL이 아닌지 확인하는 데 사용된다.
  • 문법: column_name IS NOT NULL
  • 용도: 특정 열이 NULL이 아닌 행을 필터링할 때 사용된다.

예제:

SELECT * FROM Employees WHERE Department IS NOT NULL;

이 쿼리는 부서가 할당된 모든 직원을 선택한다.

요약

  • NULL 값을 확인하려면 IS NULL을 사용한다.
  • = NULL은 유효하지 않으므로 사용하지 않는다.
  • NULL이 아닌 값을 확인하려면 IS NOT NULL을 사용한다.

'IS NULL'과 'IS NOT NULL'을 올바르게 사용하면 SQL 쿼리에서 NULL 값을 적절하게 처리할 수 있다.

profile
도라도라 코딩나라

0개의 댓글