SQLite-NULL値
SQLite NULL欠測値を表すために使用される用語です。テーブルのNULL値は、空白のように見えるフィールドの値です。
NULL値のあるフィールドは、値のないフィールドです。NULL値は、ゼロ値またはスペースを含むフィールドとは異なることを理解することが非常に重要です。
構文
以下は、使用の基本的な構文です。 NULL テーブルの作成中。
SQLite> CREATE TABLE COMPANY(
ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL
);
ここに、 NOT NULL列は常に指定されたデータ型の明示的な値を受け入れる必要があることを意味します。NOT NULLを使用しなかった2つの列があります。これは、これらの列がNULLになる可能性があることを意味します。
NULL値を持つフィールドは、レコードの作成中に空白のままにされたフィールドです。
例
不明な値を他の値と比較する場合、結果は常に不明であり、最終結果に含まれないため、NULL値はデータの選択時に問題を引き起こす可能性があります。次の表、次のレコードを持つCOMPANYについて考えてみます-
ID NAME AGE ADDRESS SALARY
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20000.0
2 Allen 25 Texas 15000.0
3 Teddy 23 Norway 20000.0
4 Mark 25 Rich-Mond 65000.0
5 David 27 Texas 85000.0
6 Kim 22 South-Hall 45000.0
7 James 24 Houston 10000.0
次のように、UPDATEステートメントを使用していくつかのnull許容値をNULLとして設定しましょう。
sqlite> UPDATE COMPANY SET ADDRESS = NULL, SALARY = NULL where ID IN(6,7);
これで、COMPANYテーブルには次のレコードが含まれます。
ID NAME AGE ADDRESS SALARY
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20000.0
2 Allen 25 Texas 15000.0
3 Teddy 23 Norway 20000.0
4 Mark 25 Rich-Mond 65000.0
5 David 27 Texas 85000.0
6 Kim 22
7 James 24
次に、の使用法を見てみましょう IS NOT NULL SALARYがNULLでないすべてのレコードをリストする演算子。
sqlite> SELECT ID, NAME, AGE, ADDRESS, SALARY
FROM COMPANY
WHERE SALARY IS NOT NULL;
上記のSQLiteステートメントは次の結果を生成します-
ID NAME AGE ADDRESS SALARY
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20000.0
2 Allen 25 Texas 15000.0
3 Teddy 23 Norway 20000.0
4 Mark 25 Rich-Mond 65000.0
5 David 27 Texas 85000.0
以下はの使用法です IS NULL 演算子。SALARYがNULLであるすべてのレコードを一覧表示します。
sqlite> SELECT ID, NAME, AGE, ADDRESS, SALARY
FROM COMPANY
WHERE SALARY IS NULL;
上記のSQLiteステートメントは次の結果を生成します。
ID NAME AGE ADDRESS SALARY
---------- ---------- ---------- ---------- ----------
6 Kim 22
7 James 24