始める無料で始める

UNION の後に JOIN を行うクエリ

目標は、以前と同じレポートを作成することです。次のフィールドを含めてください。

  • seasonsummer または winter のいずれかを出力
  • country
  • events:イベントのユニーク件数を表示

この演習では、まず UNION、次に JOIN を行うアプローチでクエリを作成します。この方法では、最初の UNION クエリをサブクエリとして使用します。サブクエリには、結合に使うものも含め、関連するすべてのフィールドを含める必要があります。

必要に応じて、E:R 図を参照してください。

この演習はコースの一部です

SQLでのレポーティング

コースを見る

演習の手順

  • サブクエリで、夏季と冬季の大会を UNION ALL で結合し、seasoncountry_idevent を出力するクエリを作成します。
  • JOIN と別の SELECT 文を組み合わせて、seasoncountry、ユニークな 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 ____;
コードを編集して実行