← К оглавлению занятия

Занятие 02. Оператор WHERE. Специальное значение NULL

📁 Блок: SQL / MySQL ⏱️ Время изучения: ~60 мин 🎯 Сложность: Начальная
#and #or #not #like #in #between #null #where

⚡ Кратко: суть темы

Занятие учит фильтровать строки в 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.

📝 Задания

База данных: northwind. Таблицы уточнены в каждом задании.

Условия WHERE

  1. Выберите все строки из order_details, где unit_price превышает 20.
  2. Выберите order_id из order_details, где product_id = 43 и status_id = 2.
  3. Выберите строки из order_details, где quantity <= 15 или unit_price = 15.
  4. Выберите inventory_id из order_details для всех заказов, кроме тех, где order_id равен 46 или 79.
  5. Выберите строки из order_details, где unit_price > 9 и (order_id = 30 или status_id = 1).

Поиск по маске

  1. Выберите всех сотрудников из employees, чьи имена начинаются на букву A.
  2. Выберите сотрудников из employees, живущих в городах, названия которых заканчиваются на mond.
  3. Выберите домашние номера сотрудников из employees, у которых в заметках (notes) встречается слово French, а в фамилии (last_name) есть буква k.

IN и BETWEEN

  1. Выберите строки из orders, где shipping_fee от 10 до 15 включительно.
  2. Выберите ship_name из orders для городов отгрузки Chicago и Miami.

NULL

  1. Найдите строки в orders, где не указана shipped_date.
  2. Выберите ID заказов из orders, где отсутствуют и shipped_date, и shipper_id.

Проверка понимания

Выберите один вариант ответа. После клика правильный ответ подсветится зелёным.

Вопрос 1

Как правильно проверить NULL в SQL?

Вопрос 2

Для чего используется WHERE?

Вопрос 3

Что делает SELECT?

Вопрос 4

Почему в SQL важен явный список столбцов?

Вопрос 5

Как лучше форматировать сложный SQL-запрос?

Вопрос 6

Что означает NULL?

Вопрос 7

Почему запросы стоит проверять на маленькой выборке?