【IS NULL】NULLとなっているデータを取得する

データベースにおいて、NULLは特別です!

そのためWHERE句に条件としてNULLを指定する場合、
 ・「WHERE 列名XX IS NULL」
と記載します!

「WHERE 列名XX = NULL」と記載するのは
間違いです!
※このように記載してもエラーにならないため、間違いに気付きづらいです。
 気を付けましょう。

「IS NULL」とは

『式(列名など)がNULLかどうかを判定します。 
※『値ではなく『式(列名など)です。

SQL

例として、
 ・テーブル「m_product」から
 ・列「price」が「NULL」のデータ
を取得します。

SELECT
	* 
FROM 
	m_product
WHERE price IS NULL

実行結果

列「price」が「NULL」のデータを取得することが出来ました。

備考(NOT演算子との組み合わせ)

IS NULLとNOT演算子を組み合わせることで、例えば
 ・列「price」が「NULL以外のデータ
を取得することができます。

SELECT
	* 
FROM 
	m_product
WHERE price IS NOT NULL

NULLについて

冒頭に記載した通り、データベースにおいてNULLは特別です。
詳細は以下の「NULLにまつわる諸問題」に詳しく記載いただいております。

タイトルとURLをコピーしました