開始使用免費開始

在 SELECT 中用於計算的子查詢

SELECT 中使用子查詢,可以在查詢裡建立計算欄位。SELECT 裡的子查詢可視為一個單一數值,供你的計算使用。撰寫 SELECT 查詢時,要記得主查詢的篩選不會影響子查詢,反之亦然。

在前一個練習中,你建立了欄位,用來比較各聯賽的平均總進球數與 2013/2014 賽季的整體平均進球數。在這個練習中,你會再加入一個欄位,直接比較這兩個數值,也就是用子查詢的整體平均去相減。

本練習屬於課程

SQL 資料操作

檢視課程

練習說明

  • 在「主查詢」中,選出各聯賽每場比賽的平均進球數。
  • 在「子查詢」中,選出 '2013/2014' 賽季「整體」每場比賽的平均進球數。
  • 將主查詢計算出的各聯賽平均進球數,減去子查詢的值。
  • 篩選主查詢,只包含 '2013/2014' 賽季的比賽。

動手互動練習

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

SELECT
	-- Select the league name and average goals scored
	___ AS league,
	ROUND(___(___ + m.away_goal),2) AS avg_goals,
    -- Subtract the overall average from the league average
	ROUND(AVG(___ + m.away_goal) ___ 
		(SELECT ___(___ + away_goal)
		 FROM match 
         WHERE ___ = ___),2) AS diff
FROM league AS l
LEFT JOIN match AS m
ON l.country_id = m.country_id
-- Only include 2013/2014 results
WHERE ___ = ___
GROUP BY l.name;
編輯並執行程式碼