Проблем:
Искате да намерите записи с NULL в колона.
Пример:
Нашата база данни има таблица с име children с данни в четири колони:id , first_name , middle_name и last_name .
| id | first_name | междинно_име | фамилно_име |
|---|---|---|---|
| 1 | Джон | Карл | Джаксън |
| 2 | Том | NULL | Томсън |
| 3 | Лиза | Алиса | NULL |
| 4 | Ан | NULL | Смит |
Нека намерим идентификатора, собственото и фамилното име на деца без средно име (NULL в колона middle_name ). За това използваме оператора IS NULL.
Решение:
SELECT id, first_name, last_name FROM children WHERE middle_name IS NULL;
Ето резултата:
| id | first_name | фамилно_име |
|---|---|---|
| 2 | Том | Томсън |
| 4 | Ан | Смит |
Това връща само записи с NULL в middle_name , така че Том и Ан присъстват, но не Джон и Лиза, които имат средни имена.
Дискусия:
Използвайте IS NULL оператор в условие с WHERE за намиране на записи с NULL в колона. Разбира се, можете също да използвате произволен израз вместо име на колона и да проверите дали връща NULL. Не е необходимо нищо повече от името на колона и оператора IS NULL (в нашия пример middle_name IS NULL ). Поставете това условие в клаузата WHERE, за да филтрирате редове (в нашия пример WHERE middle_name IS NULL ). Ако условието е вярно, колоната съхранява NULL и този ред се връща. По-горе заявката връща само два записа с деца Том и Ан, които нямат средни имена, така че колоната middle_name съхранява NULL.