ホームページ > データベース > mysql チュートリアル > SQL で Null 許容列の不等性を効果的にテストするにはどうすればよいですか?

SQL で Null 許容列の不等性を効果的にテストするにはどうすればよいですか?

Linda Hamilton
リリース: 2025-01-01 10:51:10
オリジナル
643 人が閲覧しました

How to Effectively Test Inequality of Nullable Columns in SQL?

NULL 不等式を理解する

SQL の領域では、NULL 値の等価性が特有の課題を引き起こします。コンセンサスでは、NULL 許容列間の等価性をテストするには、「where ((A=B) OR (A IS NULL AND B IS NULL))」という式を使用することが推奨されています。ただし、このアプローチでは不等式をテストするときに問題が生じます。

NULL を未知の値とみなす三項論理によれば、不等号式「where (AB)」は、次の不等式を評価するのに十分です。 NULL 可能な列。このロジックでは、未知の値の等価性が不明であるとみなされるため、結果は TRUE ではありません。

たとえば、次のシナリオを考えてみましょう。

  1. A と B の両方が NULL の場合、式「where (A<>B)」は三項論理に従って FALSE を返し、それらの不等式が次のとおりであることを示します。不明。
  2. A または B のいずれかが NULL の場合、式は再び FALSE を返し、それらの不等式を決定できないことを示します。

追加の条件

式「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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート