NULL 不等式を理解する
SQL の領域では、NULL 値の等価性が特有の課題を引き起こします。コンセンサスでは、NULL 許容列間の等価性をテストするには、「where ((A=B) OR (A IS NULL AND B IS NULL))」という式を使用することが推奨されています。ただし、このアプローチでは不等式をテストするときに問題が生じます。
NULL を未知の値とみなす三項論理によれば、不等号式「where (AB)」は、次の不等式を評価するのに十分です。 NULL 可能な列。このロジックでは、未知の値の等価性が不明であるとみなされるため、結果は TRUE ではありません。
たとえば、次のシナリオを考えてみましょう。
追加の条件
式「WHERE ((A B) OR (A IS NOT NULL AND B IS)」 NULL) OR (A IS NULL AND B IS NOT NULL))」は、NULL 値と非 NULL 値のすべての可能な組み合わせを明示的にチェックする代替アプローチです。ただし、Null 許容列の不等価性を評価することが目的の状況では、これは不要です。
結論として、Null 許容列の場合、その不等価性を評価するには式「where (A<>B)」で十分です。 、NULL は三値論理では未知の値とみなされます。
以上がSQL で Null 許容列の不等性を効果的にテストするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。