トップDML選択(基本) ≫ NULL値を持つデータを検索する

NULL値を持つデータを検索する

NULLは特殊な値です.NULLは 「列名 = NULL」 や 「列名 <> NULL」 といった通常の比較演算子を用いた方法では検索することができません. NULLを対象として検索するにはIS NULL演算子,もしくはIS NOT NULL演算子を使用します.

IS NULL

IS NULL演算子はデータがNULLなら真を,データがNULLでないのなら偽を返します.IS NULL演算子は以下のような書き方で使用します.

SELECT DISTINCT 列名1, 列名2, ...
FROM テーブル名
WHERE 列名 IS NULL

IS NOT NULL

IS NOT NULL演算子はIS NULL演算子とは逆でデータがNULL以外なら真を,データがNULLでないのなら真を返します.IS NOT NULL演算子は以下のような書き方で使用します.

SELECT DISTINCT 列名1, 列名2, ...
FROM テーブル名
WHERE 列名 IS NOT NULL

SQL サンプル

例として以下のテーブル (部門マスタ) から [備考] がNULLのデータを取得します.

部門

部門コード部門名備考
A001第一営業部統廃合予定
A002第二営業部統廃合予定
B001財務部<NULL>
B002総務部<NULL>

SQL

SELECT * FROM 部門
WHERE 備考 IS NULL

結果

部門コード部門名備考
B001財務部<NULL>
B002総務部<NULL>