開始使用免費開始

先 UNION 再 JOIN 的查詢

你的目標是建立與先前相同的報表,包含以下欄位:

  • season:輸出 summerwinter
  • 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 ____;
編輯並執行程式碼