先 JOIN 再 UNION 的查詢
你的目標是建立一份包含以下欄位的報表:
- season:輸出
summer或winter - country
- events:顯示不重複的事件數量
要產生這份報表有多種做法。在本練習中,請用先 JOIN、再 UNION 的方法來完成。
一如既往,你可以參考你的 E:R Diagram 找出相關欄位與資料表。
本練習屬於課程
SQL 報表製作
練習說明
- 建立一個查詢,針對 summer 事件,依
country與season顯示不重複的events。 - 建立一個類似的查詢,針對 winter 事件,依
country與season顯示不重複的events。 - 使用
UNION ALL合併這兩個查詢。 - 依 events 由大到小排序報表。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
-- Query season, country, and events for all summer events
SELECT
____ AS season,
____,
____ AS events
FROM ____ AS s
JOIN ____ AS c
ON ____
GROUP BY ____
-- Combine the queries
____
-- Query season, country, and events for all winter events
SELECT
____ AS season,
____,
____ AS events
FROM ____ AS w
JOIN ____ AS c
ON ____
GROUP BY ____
-- Sort the results to show most events at the top
ORDER BY ____;