Проблем:
Искате да намерите записи без NULL в колона.
Пример:
Нашата база данни има таблица с име product
с данни в три колони:id
, name
и price
.
id | име | цена |
---|---|---|
1 | масло | NULL |
2 | мляко | 2,35 |
3 | хляб | 3,25 |
4 | сирене | NULL |
Нека намерим имената и цените на продуктите, които имат цена (без NULL). Направете това, като използвате оператора IS NOT NULL.
Решение:
SELECT name, price FROM product WHERE price IS NOT NULL;
Ето резултата от заявката:
name | цена |
---|---|
мляко | 2,35 |
хляб | 3,25 |
Това връща само записи без NULL в колоната, така че присъстват само имената и цените на млякото и хляба. Маслото и сиренето нямат цени (колоната price
е NULL), така че не ги виждате.
Дискусия:
За да покажете записи без NULL в колона, използвайте оператора IS NOT NULL. Трябва ви само името на колоната (или израз) и операторът НЕ Е NULL (в нашия пример price IS NOT NULL
). Поставете това условие в клаузата WHERE (в нашия пример WHERE price IS NOT NULL
), който филтрира редове.
Ако условието е вярно, това означава, че колоната не съхранява NULL. Редът се връща, ако има стойност в тази колона (колоната не е NULL). Отгоре заявката връща само два продукта, мляко и хляб, защото имат стойности в price
.