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

Занятие 24. Summary session 6

📁 Блок: SQL / MySQL / Связи и JOIN ⏱️ Время изучения: ~60 мин 🎯 Сложность: Повторение
#join #where #null #select #union

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

  • Повторите UNION ALL из трёх таблиц.
  • Найдите сотрудников без привилегий.
  • Расшифруйте и проанализируйте inventory_transactions.
  • Расшифруйте заказы Seattle через LEFT JOIN.

📝 Задания для самопроверки

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

Задание 1

Объедините с помощью UNION ALL названия компаний сотрудников из таблицы employees, названия компаний клиентов из таблицы customers и названия компаний поставщиков из таблицы suppliers.

Задание 2

Объясните, почему в предыдущем запросе не стоит использовать UNION (без ALL). Добавьте к запросу столбец, показывающий, из какой таблицы была взята запись.

Задание 3

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

Задание 4

Работаем с таблицей inventory_transactions. Выведите transaction_created_date, а также название типа транзакции и название продукта.

Задание 5

Используя предыдущий запрос, посчитайте количество транзакций по типу. Оставьте только те типы транзакций, в которых отсутствует слово 'Sold'.

Задание 6

В таблице orders расшифруйте значения всех столбцов, в именах которых присутствует 'id' и для которых в базе данных имеются соответствующие таблицы. Выведите все строки, в которых ship_city = 'Seattle'. Объясните, почему в данном случае важно использовать LEFT JOIN.

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

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

Вопрос 1

Как лучше использовать summary-урок?

Вопрос 2

Что показывает хороший результат после повторения блока?

Вопрос 3

Какой вопрос стоит задать себе после каждого ответа?

Вопрос 4

Что делает SELECT?

Вопрос 5

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

Вопрос 6

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

Вопрос 7

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

Вопрос 8

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