NULL 값을 사용한 MySQL 비교
예제의 CODE 열과 같이 NULL 값을 허용하는 열을 처리할 때는 MySQL이 이러한 비교를 처리하는 방법을 이해하는 것이 중요합니다. 다음 쿼리에서 CODE가 NULL인 행을 제외하는 이유는 무엇입니까?
<code class="language-sql">SELECT * from TABLE where CODE!='C'</code>
이는 !=
(같지 않음) 연산자가 NULL 값을 명시적으로 테스트하지 않기 때문입니다. 값이 'C'와 같지 않은지 확인합니다. NULL은 누락된 값을 나타내는 특수한 값이므로 특정 값과 같거나 같지 않습니다.
NULL 값을 포함하려면 IS NULL
또는 IS NOT NULL
연산자를 사용해야 합니다. 이러한 연산자는 NULL 값이 있는지 명시적으로 확인합니다. 올바른 쿼리는 다음과 같습니다.
<code class="language-sql">SELECT * from TABLE where CODE IS NULL OR CODE!='C'</code>
IS NULL
또는 IS NOT NULL
을 사용하여 쿼리는 CODE가 NULL인 행뿐만 아니라 CODE가 'C'와 같지 않은 행도 포함하는지 확인합니다. 이는 OR
연산자가 두 조건을 행 일치에 대한 유효한 기준으로 처리하기 때문입니다.
요약하자면, NULL 값이 포함될 수 있는 열을 비교할 때 항상 IS NULL
또는 IS NOT NULL
연산자를 사용하여 NULL 값이 있는지 명시적으로 테스트하세요. 그렇지 않으면 비교 결과가 예상과 다를 수 있습니다.
위 내용은 WHERE 절에서 != 연산자를 사용할 때 MySQL이 NULL 값을 제외하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!