Занятие 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.
🔖 Операторы сравнения
| Оператор | Описание | Пример |
|---|---|---|
= | равно | WHERE status_id = 2 |
<>, != | не равно | WHERE order_id <> 46 |
< | меньше | WHERE unit_price < 20 |
<= | меньше или равно | WHERE quantity <= 15 |
> | больше | WHERE unit_price > 20 |
>= | больше или равно | WHERE shipping_fee >= 10 |
🔖 Логические операторы
| Оператор | Действие | Пример |
|---|---|---|
AND | оба условия истинны | WHERE a = 1 AND b = 2 |
OR | хотя бы одно истинно | WHERE a = 1 OR b = 2 |
NOT | отрицание | WHERE NOT a = 1 |
🔖 Специальные операторы
| Оператор | Назначение | Пример |
|---|---|---|
LIKE | поиск по маске | WHERE name LIKE 'A%' |
IN | вхождение в список | WHERE city IN ('A', 'B') |
BETWEEN | диапазон включительно | WHERE price BETWEEN 10 AND 20 |
IS NULL | проверка отсутствия значения | WHERE shipper_id IS NULL |
IS NOT NULL | проверка наличия значения | WHERE shipper_id IS NOT NULL |
Проверить по документации: точный синтаксис и поддержку операторов в разных СУБД — MySQL, PostgreSQL.