Database
 sql >> Database >  >> RDS >> Database

Come filtrare le righe senza NULL in una colonna

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 .