Занятие 02. Оператор WHERE. Специальное значение NULL
⚡ Кратко: суть темы
Занятие учит фильтровать строки в SQL-запросах с помощью оператора WHERE. Мы разберём операторы сравнения, логические операторы AND/OR/NOT, поиск по маске LIKE, множественный выбор IN и BETWEEN, а также правила работы со специальным значением NULL.
WHEREидёт послеFROMи отбирает только подходящие строки.- Операторы сравнения:
=,<>/!=,<,<=,>,>=. LIKEиспользует%(любые символы) и_(один символ).NULL— отсутствие значения; для проверки используются толькоIS NULLиIS NOT NULL.
Что запомнить: NULL = NULL не истинно — никогда не сравнивайте NULL обычными операторами.
Частая ошибка: писать WHERE column = NULL вместо WHERE column IS NULL.
🐛 Типичные ошибки
Сравнение NULL через =
Неверно: WHERE shipped_date = NULL
Верно: WHERE shipped_date IS NULL
Причина: NULL — неизвестное значение, поэтому любое сравнение через = даёт UNKNOWN, а не TRUE.
Забытые скобки с OR
Неверно: WHERE a = 1 OR b = 2 AND c = 3 — AND выполнится раньше.
Верно: WHERE (a = 1 OR b = 2) AND c = 3
LIKE без кавычек
Неверно: WHERE name LIKE A%
Верно: WHERE name LIKE 'A%'
Неправильный порядок BETWEEN
Неверно: WHERE x BETWEEN 20 AND 10
Верно: WHERE x BETWEEN 10 AND 20
Путаница % и _
% — любое количество символов, _ — ровно один. Если нужно найти строку длиной 1 символ, используйте _.