開始使用免費開始

子查詢無所不在

在足球聯賽中,賽事會分成不同的「階段」。獲勝的球隊會從一個階段晉級到下一個階段,直到進入決賽。每個階段的賽事重要性都比前一階段更高。match 資料表包含每場比賽所處的不同階段資料。

在本課中,你將透過 3 個練習建立一個最終查詢,當中會包含 3 個子查詢——分別位於 SELECTFROMWHERE 子句。在最後一個練習中,你的查詢會擷取資料,分析各比賽階段的平均進球數。當賽事從一個階段晉級到下一個階段、重要性提升時,平均進球數是否也會改變?

本練習屬於課程

SQL 資料操作

檢視課程

練習說明

  • SELECT 子查詢中擷取總進球數的平均值。
  • 在主查詢中計算指定 stage 的「平均」總進球數。
  • 將兩個子查詢與主查詢都「篩選」為僅包含 2012/2013 賽季的資料。
  • m.stage 欄位對查詢進行 GROUP

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

SELECT 
	-- Select the stage and average goals for each stage
	m.stage,
    ROUND(___(___ + m.away_goal),2) AS avg_goals,
    -- Select the average overall goals for the 2012/2013 season
    ROUND((SELECT ___(___ + away_goal) 
           FROM match 
           WHERE season = ___),2) AS overall
FROM match AS m
-- Filter for the 2012/2013 season
WHERE ___ = ___
-- Group by stage
GROUP BY ___;
編輯並執行程式碼