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

Come trovare record con NULL in una colonna

Problema:

Vuoi trovare i record con NULL in una colonna.

Esempio:

Il nostro database ha una tabella denominata children con i dati in quattro colonne:id , first_name , middle_name e last_name .

id nome secondo_nome cognome
1 Giovanni Carlo Jackson
2 Tom NULL Thomson
3 Lisa Alice NULLO
4 Anna NULL Fabio

Troviamo l'id, il nome e il cognome dei bambini senza un secondo nome (NULL nella colonna middle_name ). Usiamo l'operatore IS NULL per questo.

Soluzione:

SELECT id,
  first_name,
  last_name
FROM children
WHERE middle_name IS NULL;

Ecco il risultato:

id nome cognome
2 Tom Thomson
4 Anna Fabio

Questo restituisce solo i record con NULL in middle_name , quindi Tom e Anne sono presenti, ma non John e Lisa che hanno un secondo nome.

Discussione:

Usa IS NULL operatore in una condizione con WHERE per trovare i record con NULL in una colonna. Ovviamente puoi anche usare qualsiasi espressione invece del nome di una colonna e controllare se restituisce NULL. Non è necessario altro che il nome di una colonna e l'operatore IS NULL (nel nostro esempio, middle_name IS NULL ). Inserisci questa condizione nella clausola WHERE per filtrare le righe (nel nostro esempio, WHERE middle_name IS NULL ). Se la condizione è vera, la colonna memorizza un NULL e viene restituita questa riga. Sopra, la query restituisce solo due record con i figli Tom e Anne, che non hanno un secondo nome, quindi la colonna middle_name memorizza NULL.