Problém:
Chcete najít záznamy bez NULL ve sloupci.
Příklad:
Naše databáze obsahuje tabulku s názvem product
s údaji ve třech sloupcích:id
, name
a price
.
id | jméno | cena |
---|---|---|
1 | máslo | NULL |
2 | mléko | 2,35 |
3 | chléb | 3,25 |
4 | sýr | NULL |
Pojďme najít názvy a ceny produktů, které mají cenu (bez NULL). Proveďte to pomocí operátoru IS NOT NULL.
Řešení:
SELECT name, price FROM product WHERE price IS NOT NULL;
Zde je výsledek dotazu:
name | cena |
---|---|
mléko | 2,35 |
chléb | 3,25 |
To vrátí pouze záznamy bez NULL ve sloupci, takže jsou přítomny pouze názvy a ceny mléka a chleba. Máslo a sýr nemají ceny (sloupec price
je NULL), takže je nevidíte.
Diskuse:
Chcete-li zobrazit záznamy bez NULL ve sloupci, použijte operátor IS NOT NULL. Potřebujete pouze název sloupce (nebo výraz) a operátor IS NOT NULL (v našem příkladu price IS NOT NULL
). Vložte tuto podmínku do klauzule WHERE (v našem příkladu WHERE price IS NOT NULL
), který filtruje řádky.
Pokud je podmínka pravdivá, znamená to, že sloupec neukládá NULL. Řádek je vrácen, pokud má v tomto sloupci hodnotu (sloupec není NULL). Shora dotaz vrací pouze dva produkty, mléko a chléb, protože mají hodnoty v price
.