ホームページ > データベース > mysql チュートリアル > SQL NULL の等価性: IS NULL と = NULL をいつ使用するか?

SQL NULL の等価性: IS NULL と = NULL をいつ使用するか?

Mary-Kate Olsen
リリース: 2025-01-11 20:32:42
オリジナル
948 人が閲覧しました

SQL NULL Equality: When to Use IS NULL vs. = NULL?

SQL NULL 値比較のパラドックス: IS NULL と = NULL の区別

SQL の分野では、NULL 値の概念が開発者に課題をもたらすことがよくあります。問題の 1 つは、IS NULL 演算子と = NULL 演算子を使用して NULL 値を比較する場合です。見た目は似ていても、結果は大きく異なり、多くの人を混乱させています。

違いを理解する

  • = NULL の結果は不明であり、3 値の論理を表します。ただし、WHERE 句では、この結果は false として扱われ、結果セット内の NULL 値を持つ行は除外されます。
  • IS NULL NULL 値を明示的にチェックし、値が実際に NULL である場合にのみ true を返します。

各演算子をいつ使用するか

彼らの異なる行動を考慮すると:

  • 意図的に不明な値を検索したい場合は、 = NULL を使用します。予期しない結果が生じる可能性があるため、一般的な比較には推奨されません。
  • NULL 値を特にチェックする必要がある場合は、IS NULL を使用します。これは、SQL で NULL 比較を処理する場合に推奨される方法です。

次の形式を考えてみましょう:

<code>| id | name |
|---|---|
| 1  | John |
| 2  | NULL |
| 3  | Mary |</code>
ログイン後にコピー
  • クエリ 1:
<code>SELECT * FROM table WHERE name = NULL;</code>
ログイン後にコピー

結果: = NULL は NULL を false として扱うため、行は返されません。

  • クエリ 2:
<code>SELECT * FROM table WHERE name IS NULL;</code>
ログイン後にコピー

結果: ID 2 の行を返し、NULL 値を正しく識別します。

以上がSQL NULL の等価性: IS NULL と = NULL をいつ使用するか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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