NULL値について知っておくべきこと

NULLを使用してデータベースの問題を回避する方法を理解する

データベースの世界に新しいユーザーは、フィールドに特有の特別な値、つまりNULL値と混同されることがよくあります。 この値は、任意のタイプのデータを含むフィールドにあり、リレーショナルデータベースのコンテキスト内では非常に特別な意味を持ちます。 おそらく、NULLの議論を、NULLが何でないかについてのいくつかの言葉で始めることが最善です。

むしろ、NULLは未知のデータを表すために使用される値です。 多くの場合、データベースプログラマは "NULL値"というフレーズを使用しますが、これは間違っています。 注意:NULLはフィールドが空白に見える不明な値です。

実世界ではNULL

簡単な例を見てみましょう:フルーツスタンドの目録を含むテーブル。 私たちの目録にリンゴ10個とオレンジ3個が含まれているとします。 我々はまた梅を在庫していますが、私たちの在庫情報は不完全で、どれくらいの梅が在庫されているか分かりません。 NULL値を使用すると、以下の表に示すインベントリテーブルが作成されます。

フルーツスタンド在庫

InventoryID 項目
1 りんご 10
2 オレンジ 3
3 プラム ヌル


梅の記録に0の量を含めることは明らかに間違いでしょう。これは、梅の記録に梅がないことを意味するためです。 逆に、私たちはいくつかのプラムを持っているかもしれませんが、わかりません。

NULLまたはNOT NULLにするには?

テーブルは、NULL値を許可するか否かを設計することができます。

いくつかのNULLを許可するInventoryテーブルを作成するSQLの例を次に示します。

SQL> CREATE TABLE INVENTORY(インベントリID INT NOT NULL、Item VARCHAR(20)NOT NULL、Quantity INT);

インベントリテーブルでは、 インベントリIDおよびアイテム列のNULL値は許可されませんが、 数量列のNULL値は許可されます。

NULL値を許可する間は完全に問題ありませんが、NULL値は常にNULLになります。

テーブルにNULL値が含まれているかどうかを確認するには、IS NULL演算子またはIS NOT NULL演算子を使用します。 IS NULLの例を次に示します。

SQL> SELECT INVENTORYID、ITEM、QUANTITYが整数ではない整数がNULLでない場合

ここの例を考えると、これは返されます:

InventoryID 項目
3 プラム

NULLでの操作

NULL値を使用すると、 SQL操作に応じてNULL結果が生成されることがよくあります 。 たとえば、AがNULLであると仮定します。

算術演算子

比較演算子

これらは、あるオペランドがNULLの場合に常に NULL 返す演算子の例です。 もっと複雑なクエリが存在し、すべてがNULL値によって複雑になります。 テイク・ホーム・ポイントは、データベースにNULL値を許可する場合は、その意味とその計画を理解することです。

それは一言で言えばNULLです!