Valore NULL SQL

I valori NULL rappresentano dati sconosciuti mancanti.

Per default, le colonne delle tabelle possono contenere valori NULL.

Questo capitolo spiega gli operatori IS NULL e IS NOT NULL.

Valore NULL SQL

Se una colonna in una tabella è opzionale, possiamo inserire un nuovo record o aggiornare un record esistente senza aggiungere un valore a quella colonna. Questo significa che il campo sarà salvato con un valore NULL.

Il trattamento dei valori NULL è diverso da altri valori.

NULL viene utilizzato come segnaposto per valori sconosciuti o inapplicabili.

Nota:Non è possibile confrontare NULL con 0; non sono equivalenti.

Gestione dei valori NULL in SQL

Ecco la tabella "Persons":

Id Cognome NomePrimo Indirizzo Città
1 Adams John   Londra
2 Bush George Fifth Avenue New York
3 Carter Thomas   Pechino

Supponiamo che la colonna "Indirizzo" nella tabella "Persons" sia opzionale. Questo significa che se viene inserito un record senza valore nella colonna "Indirizzo", la colonna "Indirizzo" utilizzerà il valore NULL per salvare.

Allora come possiamo testare i valori NULL?

Non è possibile utilizzare operatori di confronto per testare i valori NULL, come =, <, o <>.

Dobbiamo utilizzare gli operatori IS NULL e IS NOT NULL.

IS NULL SQL

Come possiamo selezionare solo le registrazioni che hanno valori NULL nella colonna "Indirizzo"?

Dobbiamo utilizzare l'operatore IS NULL:

SELECT Cognome,NomePrimo,Indirizzo FROM Persons
WHERE Indirizzo IS NULL

Risultato del set:

Cognome NomePrimo Indirizzo
Adams John  
Carter Thomas  

Suggerimento:Utilizza sempre IS NULL per trovare valori NULL.

IS NOT NULL SQL

Come possiamo selezionare le registrazioni che non hanno valori NULL nella colonna "Indirizzo"?

Dobbiamo utilizzare l'operatore IS NOT NULL:

SELECT Cognome,NomePrimo,Indirizzo FROM Persons
WHERE Indirizzo IS NOT NULL

Risultato del set:

Cognome NomePrimo Indirizzo
Bush George Fifth Avenue

Nel prossimo capitolo, impareremo le funzioni ISNULL(), NVL(), IFNULL() e COALESCE().