SQL NULL Values

❮ 前章へ 次章へ ❯

NULL 値は、欠落した未知のデータを表します。

デフォルトで、テーブルの列は NULL 値を格納できます。

この章では、IS NULL および IS NOT NULL 演算子を説明します。


SQL NULL 値

テーブルの列が optional の場合、この列に値を追加することなく、新しいレコードを挿入したり、 既存のレコードを更新したりできます。これは、フィールドに NULL 値が保存されることを意味します。

NULL 値は、他の値とは別に取扱われます。

NULL は、不明または適用不可能な値のプレースホルダとして使用されます。

注: NULL と 0 を比較することはできません:この2つは同値ではありません。


SQL における NULL 値の扱いかた

次の "Persons" テーブルを見てください:

P_Id LastName FirstName Address City
1 Hansen Ola   Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari   Stavanger

"Persons" テーブルの "Address" 列が optional であるとします。これは、"Address" 列に値なしでレコードを挿入した場合、 "Address" 列には NULL 値で保存されることを意味しています。

どのように NULL 値をテストできますか?

比較演算子 =、< または <> などで NULL 値をテストすることはできません。

代わりに、IS NULL および IS NOT NULL 演算子を使用しなければなりません。


SQL IS NULL

どのようにして "Address" に NULL 値を持つレコードだけを選択できますか?

IS NULL 演算子を使用しなければなりません:

SELECT LastName,FirstName,Address FROM Persons
WHERE Address IS NULL

結果セットは次のようになります:

LastName FirstName Address
Hansen Ola  
Pettersen Kari  

チップ: NULL 値を検索するには、常に IS NULL を使用します。


SQL IS NOT NULL

どのようにして "Address" から NULL でない値を持つレコードだけを選択できますか?

IS NOT NULL 演算子を使用しなければなりません:

SELECT LastName,FirstName,Address FROM Persons
WHERE Address IS NOT NULL

結果セットは次のようになります:

LastName FirstName Address
Svendson Tove Borgvn 23

次の章では、ISNULL()、NVL()、IFNULL() および COALESCE() 関数を見ていきます。


❮ 前章へ 次章へ ❯