UNION の後に JOIN を行うクエリ
目標は、以前と同じレポートを作成することです。次のフィールドを含めてください。
- season:
summerまたはwinterのいずれかを出力 - country
- events:イベントのユニーク件数を表示
この演習では、まず UNION、次に JOIN を行うアプローチでクエリを作成します。この方法では、最初の UNION クエリをサブクエリとして使用します。サブクエリには、結合に使うものも含め、関連するすべてのフィールドを含める必要があります。
必要に応じて、E:R 図を参照してください。
この演習はコースの一部です
SQLでのレポーティング
演習の手順
- サブクエリで、夏季と冬季の大会を
UNION ALLで結合し、season、country_id、eventを出力するクエリを作成します。 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 ____;