用純量子查詢過濾
子查詢在進行複雜的過濾與轉換時非常強大。你可以用子查詢依據單一(純量)值來過濾資料,這是單靠 WHERE 子句或連接(join)做不到的。子查詢也能用於更進階的資料集處理。在任何使用關聯式資料庫的實務情境中,你都很可能會遇到子查詢。
在這個練習中,你要產生一個比賽清單:其總進球數(雙方加總)要大於 matches_2013_2014 資料表中比賽平均值的「3 倍」。該資料表包含 2013/2014 賽季的所有比賽。
本練習屬於課程
SQL 資料操作
練習說明
- 在子查詢中計算所有比賽的 主隊 + 客隊進球數 的平均值,再乘以 3。
- 在主查詢中篩選總進球數(主隊 + 客隊進球)大於子查詢數值的比賽。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
SELECT
date,
home_goal,
away_goal
FROM matches_2013_2014
-- Filter for matches where total goals is greater than 3x the average
WHERE (___ + ___) ___
(SELECT ___ * AVG(___ + ___)
FROM ___);