![](http://sqlserver.work/wp-content/themes/cocoon-master/images/b-woman.png)
データベースにおいて、NULLは特別です!
![](http://sqlserver.work/wp-content/themes/cocoon-master/images/b-woman.png)
そのためWHERE句に条件としてNULLを指定する場合、
・「WHERE 列名XX IS NULL」
と記載します!
![](http://sqlserver.work/wp-content/themes/cocoon-master/images/b-woman.png)
「WHERE 列名XX = NULL」と記載するのは
間違いです!
※このように記載してもエラーにならないため、間違いに気付き辛いです。
気を付けましょう。
「IS NULL」とは
「式(列など)」がNULLかどうかを判定します。
※「値」ではなく「式(列など)」です。
SQL
例として、
・テーブル「m_product」から
・列「price」が「NULL」のデータ
を取得します。
![「NULL」のデータ](https://sqlserver.work/wp-content/uploads/2020/12/sql_getnullrecords_001.png)
SELECT
*
FROM
m_product
WHERE price IS NULL
実行結果
列「price」が「NULL」のデータを取得することが出来ました。
![「NULL」のデータを取得](https://sqlserver.work/wp-content/uploads/2020/12/sql_getnullrecords_002.png)
備考(NOT演算子との組み合わせ)
IS NULLとNOT演算子を組み合わせることで、例えば
・列「price」が「NULL」以外のデータ
を取得することができます。
SELECT
*
FROM
m_product
WHERE price IS NOT NULL
![「NULL」以外のデータを取得](https://sqlserver.work/wp-content/uploads/2020/12/sql_getnullrecords_003.png)
NULLについて
冒頭に記載した通り、データベースにおいてNULLは特別です。
詳細は以下の「NULLにまつわる諸問題」に詳しく記載いただいております。