!=
、<>
、および IS NOT NULL
SQL の不平等演算子 (!=
と <>
) は、NULL 値では非 NULL 値と比べて動作が異なります。 これは、NULL は特定の値ではなく、値の不在を表すためです。
!=
/<>
対 IS NOT NULL
: 重要な違い次のクエリについて考えてみましょう:
<code class="language-sql">SELECT * FROM MyTable WHERE MyColumn != NULL;</code>
このクエリは空の結果セットを返します。 !=
(または <>
) 演算子は 値 を比較します。NULL は値ではありません。比較は未定義です。
対照的に:
<code class="language-sql">SELECT * FROM MyTable WHERE MyColumn IS NOT NULL;</code>
このクエリは、MyColumn
に値がある (つまり、NULL ではない) すべての行を返します。 IS NOT NULL
は、NULL の有無をチェックするように特別に設計されています。
!=
演算子と <>
演算子は、NULL 以外の値を比較するときに期待どおりに機能します。
<code class="language-sql">SELECT * FROM MyTable WHERE MyColumn <> 'MyValue';</code>
これは、MyColumn
が 'MyValue' と異なる行を返します。
覚えておいてください: !=
と <>
は 値 を比較しますが、IS NOT NULL
は値 (NULL) の 不在 をチェックします。 SQL でのデータの正確なフィルタリングと操作には、この区別を理解することが重要です。
以上がNULL 値を処理する場合、SQL の `!=` および `` 演算子は `IS NOT NULL` とどのように異なりますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。