Занятие 22. Операторы JOIN и UNION
⚡ Кратко: задания
- Объедините имена сотрудников и клиентов через
UNION ALL. - Сравните
INNER,LEFTиRIGHT JOINдля таблиц сотрудников и привилегий. - Подмените
product_idнаproduct_nameчерез JOIN.
📝 Задания для самостоятельной работы
Все задания выполняются в базе northwind.
Задание 1. UNION: общая выборка имён
Выведите в одну общую выборку из таблиц customers и employees имена и фамилии клиентов и сотрудников.
Задание 2. UNION ALL с источником строки
Добавьте дополнительный столбец, в котором будет значение employee для сотрудника и customer для клиента.
Задание 3. Сравнение JOIN-ов
Выведите все строки из объединённых таблиц employees и employee_privileges с помощью INNER JOIN, LEFT JOIN и RIGHT JOIN. Объясните полученные результаты.
Задание 4. JOIN + подмена идентификатора
Выведите идентификаторы заказов из таблицы order_details. Дополнительно выведите вместо product_id столбец с именем продукта product_name из таблицы products.
Задание 5. JOIN + агрегация
Используя предыдущий запрос, посчитайте количество заказов для каждого наименования продукта.
Задание 6. Многотабличный LEFT JOIN
Выведите идентификаторы заказов из таблицы order_details. Дополнительно выведите вместо product_id столбец с именем продукта product_name из таблицы products и столбец payment_amount из таблицы purchase_orders. Оставьте все строки из таблицы order_details.
Проверка понимания
Выберите один вариант ответа. После клика правильный ответ подсветится зелёным.
Вопрос 1
Для чего нужен JOIN?
Вопрос 2
Что делает UNION?
Вопрос 3
Что делает SELECT?
Вопрос 4
Почему в SQL важен явный список столбцов?
Вопрос 5
Как лучше форматировать сложный SQL-запрос?
Вопрос 6
Что означает NULL?
Вопрос 7
Почему запросы стоит проверять на маленькой выборке?