Problema:
Vuoi trovare i record senza NULL in una colonna.
Esempio:
Il nostro database ha una tabella denominata product
con i dati in tre colonne:id
, name
e price
.
id | prezzo | |
---|---|---|
1 | burro | NULL |
2 | latte | 2.35 |
3 | pane | 3.25 |
4 | formaggio | NULL |
Troviamo i nomi e i prezzi dei prodotti che hanno un prezzo (senza NULL). A tale scopo, utilizzare l'operatore NON È NULLO.
Soluzione:
SELECT name, price FROM product WHERE price IS NOT NULL;
Ecco il risultato della query:
nome | prezzo |
---|---|
latte | 2.35 |
pane | 3.25 |
Questo restituisce solo i record senza NULL nella colonna, quindi sono presenti solo i nomi e i prezzi del latte e del pane. Burro e formaggio non hanno prezzi (la colonna price
è NULL) quindi non li vedi.
Discussione:
Per visualizzare i record senza NULL in una colonna, utilizzare l'operatore NON È NULL. Hai solo bisogno del nome della colonna (o di un'espressione) e dell'operatore NON È NULL (nel nostro esempio, il price IS NOT NULL
). Inserisci questa condizione nella clausola WHERE (nel nostro esempio, WHERE price IS NOT NULL
), che filtra le righe.
Se la condizione è vera, indica che la colonna non memorizza un NULL. La riga viene restituita se ha un valore in questa colonna (la colonna non è NULL). Dall'alto, la query restituisce solo due prodotti, latte e pane, perché hanno valori in price
.