ホームページ >データベース >mysql チュートリアル >SQL での NULL 値の検索に「WHERE x = NULL」が機能しないのはなぜですか?
SQL の NULL の難題: = NULL
と IS NULL
SQL で NULL 値を操作すると、予期しない動作が発生することがよくあります。 NULL を正しく識別する鍵は、WHERE x = NULL
と WHERE x IS NULL
の違いを理解することにあります。
WHERE x IS NULL
は、x
の値が明示的に NULL であるかどうかを直接チェックします。 これには、SQL における個別の値であるゼロや空の文字列が含まれないことに注意することが重要です。
逆に、WHERE x = NULL
は x
と NULL を比較しようとします。 SQL では、NULL 値を含む比較はすべて NULL として扱われ、WHERE
句で false と評価されるため、この比較の結果は常に NULL になります。
したがって、NULL 値を含む行を効果的に見つけるには、WHERE x IS NULL
が正しいアプローチです。 SQL 独自の NULL 比較処理により、WHERE x = NULL
は常に空の結果セットを返します。適切な構文を使用すると、NULL データを扱うときに正確なクエリ結果が得られます。
以上がSQL での NULL 値の検索に「WHERE x = NULL」が機能しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。