Sqlite-null-values
提供:Dev Guides
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値は、データを選択するときに問題を引き起こす可能性があります。未知の値を他の値と比較すると、結果は常に未知であり、最終結果に含まれないためです。 次の表、link:/sqlite/company.sql [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
私たちは次のようにいくつかのNULL値をNULLとして設定するUPDATEステートメントを使用してみましょう-
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