MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLクエリでNULLをチェックするには?IS NULL演算子の正しい使い方

MySQLクエリでNULLをチェックするには、IS NULL 演算子を使用します。NULLは「値」ではないため、=(比較演算子)を使って比較することはできない点に注意が必要です。

以下では、「employee」テーブルのデータを使って、その動作を具体的に見ていきましょう。

例1:IS NULL演算子を使ったNULLの検索

mysql> Select * from Employee WHERE Salary IS NULL;
+----+-------+--------+
| ID | Name  | Salary |
+----+-------+--------+
| 7  | Aryan | NULL   |
| 8  | Vinay | NULL   |
+----+-------+--------+
2 rows in set (0.00 sec)

このクエリはIS NULL演算子を使用しているため、SalaryカラムがNULLになっているレコードを正しく抽出できています。

例2:= 演算子でNULLを比較した場合

mysql> Select * from employee where salary = NULL;
Empty set (0.00 sec)

一方、こちらのクエリは = (比較演算子)を使用しているため、結果は空のセット(Empty set)になります。これは、NULLが値ではないため、どのような値とも等しいと評価されないからです。

ポイントまとめ

  • NULLを判定するには必ず IS NULL(または IS NOT NULL)を使用する
  • = や != などの比較演算子ではNULLを判定できない
  • NULLは「値が存在しない・不明である」ことを表す特殊な状態である
  1. MySQLでNULL値を一括更新する方法|UPDATE文とIS NULLの使い方を解説

    NULL値を検索して新しい値に更新する基本構文 MySQLでは、IS NULLを使ってNULL値が含まれる行を特定し、UPDATE文とSET句を組み合わせることで、それらのNULL値を任意の値に置き換えることができます。基本的な構文は以下の通りです。 update テーブル名 set カラム名 = 設定したい値 where カラム名 IS NULL; ここで重要なのは、NULLとの比較に「=」ではなく「IS NULL」を使用する点です。NULLは「値が存在しない」ことを表す特殊な状態のため、通常の比較演算子では正しく判定できません。 サンプルテーブルの作成 まず、動作確認用のテーブルを作成しま

  2. MySQLでNULLの値を検索・取得する方法:IS NULL演算子の使い方

    MySQLでは、NULLが格納されているレコードを取得したい場合、通常の比較演算子(=)ではなく、IS NULL演算子を使用します。これは、NULLは「値が存在しない」ことを表す特殊な状態であり、= NULLのような等価比較では正しく判定できないためです。この記事では、実際にテーブルを作成し、IS NULLを使ってNULLのレコードを取得する手順を解説します。1. サンプルテーブルの作成まず、従業員名と年齢を格納するテーブルを作成します。mysql> create table DemoTable ( EmployeeName varchar(100), EmployeeA