NULLは特殊な値です.NULLは 「列名 = NULL」 や 「列名 <> NULL」 といった通常の比較演算子を用いた方法では検索することができません. NULLを対象として検索するにはIS NULL演算子,もしくはIS NOT NULL演算子を使用します.
IS NULL演算子はデータがNULLなら真を,データがNULLでないのなら偽を返します.IS NULL演算子は以下のような書き方で使用します.
SELECT DISTINCT 列名1, 列名2, ...
FROM テーブル名
WHERE 列名 IS NULL
IS NOT NULL演算子はIS NULL演算子とは逆でデータがNULL以外なら真を,データがNULLでないのなら真を返します.IS NOT NULL演算子は以下のような書き方で使用します.
SELECT DISTINCT 列名1, 列名2, ...
FROM テーブル名
WHERE 列名 IS NOT NULL
例として以下のテーブル (部門マスタ) から [備考] がNULLのデータを取得します.
部門
部門コード | 部門名 | 備考 |
---|---|---|
A001 | 第一営業部 | 統廃合予定 |
A002 | 第二営業部 | 統廃合予定 |
B001 | 財務部 | <NULL> |
B002 | 総務部 | <NULL> |
SQL
SELECT * FROM 部門
WHERE 備考 IS NULL
結果
部門コード | 部門名 | 備考 |
---|---|---|
B001 | 財務部 | <NULL> |
B002 | 総務部 | <NULL> |