Выбор ответа Junior SELECT и фильтрация спрашивают часто обновлено
Сравнение с NULL через =
Вопрос
В таблице customers у двух клиентов email равен NULL. Сколько строк вернёт запрос?
SELECT * FROM customers WHERE email = NULL;
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: 0. Любое сравнение с NULL через = даёт NULL (unknown), а WHERE пропускает только строки, где условие true.
Варианты ответа
- 2
- 0правильный ответ
- Все строки таблицы
- Ошибку синтаксиса
Разбор
Любое сравнение с NULL через = даёт NULL (unknown), а WHERE пропускает только строки, где условие true. Поэтому строк не будет ни одной. Синтаксической ошибки нет, запрос корректный, просто бесполезный. Правильно: WHERE email IS NULL.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.