> 데이터 베이스 > MySQL 튜토리얼 > '!=' 및 '<>' 연산자가 SQL에서 NULL과 비교하지 못하는 이유는 무엇입니까?

'!=' 및 '<>' 연산자가 SQL에서 NULL과 비교하지 못하는 이유는 무엇입니까?

DDD
풀어 주다: 2025-01-21 14:57:14
원래의
847명이 탐색했습니다.

Why Do " 연산자가 SQL에서 NULL과 비교하지 못합니까? " />

SQL의 NULL 비교 이해

SQL은 "!=" 및 "<>"를 사용합니다. 불평등 검사를 위해. 그러나 이러한 연산자는 NULL

을 사용하면 예기치 않게 동작합니다.

문제:

다음 SQL 쿼리를 고려하세요.

SELECT * FROM MyTable WHERE MyColumn != NULL;
SELECT * FROM MyTable WHERE MyColumn <> NULL;
SELECT * FROM MyTable WHERE MyColumn IS NOT NULL;
로그인 후 복사

처음 두 쿼리는 빈 결과 집합을 반환하는 반면, 세 번째 쿼리는 568개의 행을 올바르게 반환합니다. 왜 이런 불일치가 발생하는 걸까요?

설명:

"!=" 및 "<>" 을 비교하세요. 그러나 NULL은 값이 아닙니다. 이는 값이 없음을 의미합니다. 따라서 이러한 연산자는 NULL 비교

에 적합하지 않습니다.

대신 IS NULL 또는 IS NOT NULL을 사용하세요. 이러한 술어는 특히 값의 존재 여부를 확인합니다. 세 번째 쿼리의 성공은 IS NOT NULL.

을 올바르게 사용했기 때문입니다.

핵심 사항:

  • NULL이 아닌 값을 테스트하려면 IS NOT NULL을 사용하세요.
  • '<>'를 사용하세요. 또는 "!="는 NULL이 아닌 특정 값과 비교합니다.
  • NULL은 누락된 데이터를 나타내므로 어떤 값과 같거나 같지 않다고 간주할 수 없습니다.

위 내용은 '!=' 및 '<>' 연산자가 SQL에서 NULL과 비교하지 못하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿