English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
I valori NULL rappresentano dati sconosciuti o mancanti.
Di solito, le colonne delle tabelle possono contenere valori NULL.
Questo capitolo spiega gli operatori IS NULL e IS NOT NULL.
Quando si crea una tabella, la sintassi di base per NULL è la seguente:
CREATE TABLE COMPANY( ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR(50), SALARY REAL );
Qui, NOT NULL significa che il campo è obbligatorio e deve sempre contenere un valore. Questo significa che non è possibile inserire un nuovo record o aggiornare un record senza aggiungere un valore al campo.
Il campo con valore NULL indica che è possibile lasciare vuoto durante la creazione del record.
Durante la query dei dati, i valori NULL possono causare alcuni problemi, poiché un valore sconosciuto viene confrontato con qualsiasi altro valore, il risultato è sempre sconosciuto.
Inoltre, non è possibile confrontare NULL e 0, poiché non sono equivalenti.
Crea il tavolo COMPANY (Scarica il file SQL di COMPANY ),i dati contenuti sono come segue:
w3codeboxdb# select * from COMPANY; id | name | age | address | salary ----+-------+-----+-----------+-------- 1 | Paul | 32 | California | 20000 2 | Allen | 25 | Texas | 15000 3 | Teddy | 23 | Norway | 20000 4 | Mark | 25 | Rich-Mond | 65000 5 | David | 27 | Texas | 85000 6 | Kim | 22 | South-Hall | 45000 7 | James | 24 | Houston | 10000 (7 righe)
Successivamente, utilizziamo l'istruzione UPDATE per impostare alcuni campi che possono essere impostati su NULL:
w3codeboxdb=# UPDATE COMPANY SET ADDRESS = NULL, SALARY = NULL where ID IN(6,7);
Ora il tavolo COMPANY ha questo aspetto::
w3codeboxdb=# select * from company; id | name | age | address | salary ----+-------+-----+---------------------+-------- 1 | Paul | 32 | California | 20000 2 | Allen | 25 | Texas | 15000 3 | Teddy | 23 | Norway | 20000 4 | Mark | 25 | Rich-Mond | 65000 5 | David | 27 | Texas | 85000 6 | Kim | 22 | | 7 | James | 24 | | (7 righe)
IS NOT NULL
Ora, utilizziamo l'operatore IS NOT NULL per elencare tutte le registrazioni con il valore SALARY (salario) non vuoto:
w3codeboxdb=# SELECT ID, NAME, AGE, ADDRESS, SALARY FROM COMPANY WHERE SALARY IS NOT NULL;
Ecco i risultati ottenuti:
id | name | age | address | salary ----+-------+-----+------------+-------- 1 | Paul | 32 | California | 20000 2 | Allen | 25 | Texas | 15000 3 | Teddy | 23 | Norway | 20000 4 | Mark | 25 | Rich-Mond | 65000 5 | David | 27 | Texas | 85000 (5 righe)
IS NULL
IS NULL viene utilizzato per cercare campi con valori NULL.
Di seguito è riportato l'uso dell'operatore IS NULL, che elenca le registrazioni con il valore SALARY (salario) vuoto:
w3codeboxdb=# SELECT ID, NAME, AGE, ADDRESS, SALARY FROM COMPANY WHERE SALARY IS NULL;
Ecco i risultati ottenuti:
id | name | age | address | salary ----+-------+-----+---------+-------- 6 | Kim | 22 | 7 | James | 24 | (2 righe)