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

Sådan finder du poster med NULL i en kolonne

Problem:

Du ønsker at finde poster med NULL i en kolonne.

Eksempel:

Vores database har en tabel ved navn children med data i fire kolonner:id , first_name , middle_name og last_name .

id fornavn mellemnavn efternavn
1 John Carl Jackson
2 Tom NULL Thomson
3 Lisa Alice NULL
4 Anne NULL Smith

Lad os finde id, fornavn og efternavn på børn uden mellemnavn (NULL i kolonne middle_name ). Vi bruger operatoren IS NULL til dette.

Løsning:

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

Her er resultatet:

id fornavn efternavn
2 Tom Thomson
4 Anne Smith

Dette returnerer kun poster med NULL i middle_name , så Tom og Anne er til stede, men ikke John og Lisa, der har mellemnavne.

Diskussion:

Brug IS NULL operator i en tilstand med WHERE for at finde poster med NULL i en kolonne. Du kan selvfølgelig også bruge et hvilket som helst udtryk i stedet for et navn på en kolonne og tjekke om det returnerer NULL. Der er ikke behov for mere end navnet på en kolonne og operatoren IS NULL (i vores eksempel er middle_name IS NULL ). Indsæt denne betingelse i WHERE-sætningen for at filtrere rækker (i vores eksempel, WHERE middle_name IS NULL ). Hvis betingelsen er sand, gemmer kolonnen en NULL, og denne række returneres. Ovenfor returnerer forespørgslen kun to poster med børnene Tom og Anne, som ikke har mellemnavne, så kolonnen middle_name lagrer NULL.


  1. CAST og IsNumeric

  2. Importer database til MySQL eller MariaDB

  3. Hvordan laver man en masseindsættelse i MySQL?

  4. Sådan forbinder du en database til Python