Problem:
Du ønsker at finde poster uden et NULL i en kolonne.
Eksempel:
Vores database har en tabel med navnet product
med data i tre kolonner:id
, name
og price
.
id | navn | pris |
---|---|---|
1 | smør | NULL |
2 | mælk | 2,35 |
3 | brød | 3,25 |
4 | ost | NULL |
Lad os finde navnene og priserne på produkter, der har en pris (uden NULL). Gør dette ved at bruge operatoren IS NOT NULL.
Løsning:
SELECT name, price FROM product WHERE price IS NOT NULL;
Her er resultatet af forespørgslen:
navn | pris |
---|---|
mælk | 2,35 |
brød | 3,25 |
Dette returnerer kun poster uden NULL i kolonnen, så kun navne og priser på mælk og brød er til stede. Smør og ost har ingen priser (kolonnen price
er NULL), så du ikke kan se dem.
Diskussion:
For at vise poster uden NULL i en kolonne, skal du bruge operatoren IS NOT NULL. Du behøver kun navnet på kolonnen (eller et udtryk) og operatoren ER IKKE NULL (i vores eksempel er price IS NOT NULL
). Sæt denne betingelse i WHERE-sætningen (i vores eksempel, WHERE price IS NOT NULL
), som filtrerer rækker.
Hvis betingelsen er sand, angiver det, at kolonnen ikke gemmer en NULL. Rækken returneres, hvis den har en værdi i denne kolonne (kolonnen er ikke NULL). Fra oven returnerer forespørgslen kun to produkter, mælk og brød, fordi de har værdier i price
.