Problem:
Du vill hitta poster utan NULL i en kolumn.
Exempel:
Vår databas har en tabell som heter product
med data i tre kolumner:id
, name
och price
.
id | namn | pris |
---|---|---|
1 | smör | NULL |
2 | mjölk | 2,35 |
3 | bröd | 3.25 |
4 | ost | NULL |
Låt oss hitta namn och priser på produkter som har ett pris (utan NULL). Gör detta genom att använda operatorn IS NOT NULL.
Lösning:
SELECT name, price FROM product WHERE price IS NOT NULL;
Här är resultatet av frågan:
namn | pris |
---|---|
mjölk | 2,35 |
bröd | 3.25 |
Detta returnerar endast poster utan NULL i kolumnen, så endast namn och priser på mjölk och bröd är närvarande. Smör och ost har inga priser (kolumnen price
är NULL) så att du inte ser dem.
Diskussion:
För att visa poster utan NULL i en kolumn, använd operatorn IS NOT NULL. Du behöver bara namnet på kolumnen (eller ett uttryck) och operatorn IS NOT NULL (i vårt exempel är price IS NOT NULL
). Sätt detta villkor i WHERE-satsen (i vårt exempel, WHERE price IS NOT NULL
), som filtrerar rader.
Om villkoret är sant, anger det att kolumnen inte lagrar en NULL. Raden returneras om den har ett värde i den här kolumnen (kolumnen är inte NULL). Från ovan returnerar frågan endast två produkter, mjölk och bröd, eftersom de har värden i price
.