> 데이터 베이스 > MySQL 튜토리얼 > SQL에서 `NULL != NULL`이 FALSE를 반환하는 이유는 무엇입니까?

SQL에서 `NULL != NULL`이 FALSE를 반환하는 이유는 무엇입니까?

Linda Hamilton
풀어 주다: 2024-12-31 20:34:10
원래의
337명이 탐색했습니다.

Why Does `NULL != NULL` Return FALSE in SQL?

NULL 불평등이 거짓인 이유

SQL의 삼항 논리 적용은 ​​NULL이 NULL과 같지 않은 이유를 이해하는 데 중요한 역할을 합니다. 삼항 논리에서 NULL은 특정 값이 아닌 알 수 없는 값을 나타냅니다. 이 개념은 동등성 및 부등성 테스트의 평가를 안내합니다.

동등성을 평가할 때 두 개의 NULL 값은 동일하지도 불평등하지도 않은 것으로 간주됩니다. 알 수 없는 상태는 다른 알 수 없는 상태와 확실히 비교할 수 없기 때문입니다. 따라서 (NULL = NULL) 표현식은 NULL을 반환하여 명확한 답이 없음을 나타냅니다.

부등식 테스트의 경우 (NULL != NULL)도 FALSE를 반환합니다. 이는 삼항 논리에 따라 알 수 없는 값이 다른 알 수 없는 값과 동일하지 않다고 명확하게 기술될 수 없기 때문입니다. 따라서 둘이 같은지 아닌지는 아직 알 수 없습니다.

불평등 검사의 의미

위의 논의는 표현식 (A != B)가 A 또는 B가 NULL인 경우에도 불평등을 테스트합니다. 이는 삼항 논리 규칙에 따라 NULL 값과 관련된 모든 작업은 알 수 없는 상태로 유지되어야 하기 때문입니다. 따라서 A와 B가 모두 NULL인 경우 표현식 (A != B)는 FALSE를 반환하며 이는 확실한 답이 없음을 나타냅니다.

A와 B가 모두 NULL인 경우 TRUE 결과를 명시적으로 요구하는 경우 더 자세한 표현을 사용할 수 있습니다.

WHERE ((A != B) OR (A IS NOT NULL AND B IS NULL) OR (A IS NULL AND B IS NOT NULL))
로그인 후 복사

그러나 이 조건은 TRUE 결과가 필요한 특정 사용 사례에 적합하다는 점에 유의하는 것이 중요합니다. NULL 값의 경우. 대부분의 경우 삼항 논리 원리를 따르므로 더 간단한 표현(A != B)이면 충분합니다.

위 내용은 SQL에서 `NULL != NULL`이 FALSE를 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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