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

Занятие 27. Практикум 7

📁 Блок: SQL / MySQL / Подзапросы и CTE ⏱️ Время изучения: ~90 мин 🎯 Сложность: Практикум
#join #where #null #in #select #as #create

⚡ Кратко: задания

  • Сотрудники без привилегий — LEFT JOIN, подзапрос, CTE.
  • Заказы в Las Vegas от выбранных сотрудников — подзапрос, CTE.
  • Клиенты из компаний A–F и перевозчик №3 — JOIN, подзапрос, временная таблица.

📝 Задания для самостоятельной работы

Все задания выполняются в базе northwind.

Задание 1. Сотрудники без привилегий

У каких сотрудников в таблице employees нет привилегий (таблица employee_privileges)? Выведите имя и фамилию. Выполните задание тремя способами:

  • с помощью LEFT JOIN;
  • с помощью подзапроса;
  • с помощью CTE.

Задание 2. Заказы в Las Vegas от выбранных сотрудников

Выберите только тех сотрудников из таблицы employees, имя которых содержит английскую букву 'e' или у которых job_title = 'Sales Representative'. Из таблицы orders выберите заказы, в которых город отправки ship_city = 'Las Vegas'. Проверьте, отправляли ли найденные сотрудники заказы в Las Vegas. Решите задачу с помощью подзапросов и CTE.

Задание 3. Клиенты из компаний A–F и перевозчик №3

Выберите клиентов из компаний A, B, C, D, F (таблица customers, столбец company). Проверьте, делали ли они заказы (orders), используя перевозчика shipper_id = 3. Выведите имя клиента и наименование перевозчика company из таблицы shippers. Решите задачу тремя способами:

  • с помощью JOIN;
  • с помощью подзапросов;
  • с помощью временных таблиц.

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

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

Вопрос 1

Что важнее всего в практическом задании?

Вопрос 2

Как безопаснее двигаться в практикуме?

Вопрос 3

Что делать, если решение не совпадает с ожидаемым результатом?

Вопрос 4

Что делает SELECT?

Вопрос 5

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

Вопрос 6

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