НачатьНачать бесплатно

Запрос с UNION и последующим JOIN

Ваша цель — создать тот же отчёт, что и раньше, содержащий следующие поля:

  • season — выводит значение summer или winter
  • country
  • events — отображает уникальное количество событий

В этом упражнении создайте запрос, используя подход: сначала UNION, затем JOIN. При таком подходе исходный запрос UNION необходимо использовать как подзапрос. Подзапрос должен включать все нужные поля, в том числе те, которые участвуют в соединении.

При необходимости обращайтесь к диаграмме E:R.

Это упражнение является частью курса

Отчётность в SQL

Посмотреть курс

Инструкции к упражнению

  • В подзапросе составьте запрос, который выводит поля season, country_id и event, объединяя летние и зимние игры с помощью UNION ALL.
  • Используйте JOIN и ещё один оператор SELECT, чтобы отобразить поля season, country и уникальные events.
  • Добавьте в GROUP BY все поля, не участвующие в агрегации.
  • Отсортируйте отчёт по полю events в порядке убывания.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

-- Add outer layer to pull season, country and unique events
SELECT 
	____, 
    ____, 
    ____ AS events
FROM
    -- Pull season, country_id, and event for both seasons
    (SELECT 
     	____ AS season, 
     	____, 
     	____
    FROM ____
    ____
    SELECT 
     	____ AS season, 
     	____, 
     	____
    FROM ____) AS subquery
JOIN ____ AS c
ON ____
-- Group by any unaggregated fields
GROUP BY ____
-- Order to show most events at the top
ORDER BY ____;
Редактировать и запускать код