在 SELECT 子句中加入子查詢
在 SELECT 敘述中的子查詢會產生單一數值,讓你可以把彙總後的值下傳到資料框中。這對於直接在資料庫內進行計算很實用。
在接下來的練習中,你會撰寫查詢,計算各國聯賽中每場比賽的平均進球數。
本練習屬於課程
SQL 資料操作
練習說明
- 在子查詢中,先把
home_goal與away_goal相加 以取得總進球數,接著計算其平均值,然後 - 篩選 結果,僅計算
'2013/2014'賽季的平均進球數。 - 在主查詢中,同樣以
home_goal與away_goal相加取得總進球數並取平均,這會計算各聯賽的平均進球數,然後 - 在主查詢中以與子查詢相同的方式進行篩選。將查詢以聯賽
name進行GROUP BY。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
SELECT
l.name AS league,
-- Round the average of the league's total goals
ROUND(___(___ + m.away_goal), 2) AS avg_goals,
-- Select and round the average total goals for the season
(SELECT ___(___(___ + away_goal), 2)
FROM match
___ ___ = ___) AS overall_avg
FROM league AS l
LEFT JOIN match AS m
ON l.country_id = m.country_id
-- Filter for the 2013/2014 season
WHERE ___ = ___
GROUP BY ___;