Занятие 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.
💻 Примеры запросов
1. Простое условие
USE northwind;
SELECT *
FROM order_details
WHERE unit_price > 20;
Выбирает строки из order_details, где цена единицы товара больше 20.
2. Комбинация условий
SELECT *
FROM order_details
WHERE product_id = 43
AND status_id = 2;
Оба условия должны выполняться одновременно.
3. OR и скобки
SELECT *
FROM order_details
WHERE unit_price > 9
AND (order_id = 30 OR status_id = 1);
Эквивалентно (unit_price > 9 AND order_id = 30) OR (unit_price > 9 AND status_id = 1), но читается проще.
4. LIKE
SELECT *
FROM employees
WHERE first_name LIKE 'A%';
5. IN и BETWEEN
SELECT ship_name
FROM orders
WHERE ship_city IN ('Chicago', 'Miami');
SELECT *
FROM orders
WHERE shipping_fee BETWEEN 10 AND 15;
6. IS NULL
SELECT *
FROM orders
WHERE shipped_date IS NULL;