相关子查询入门
相关子查询是在主查询中引用一个或多个列的子查询。相关子查询依赖主查询中的信息来运行,因此无法单独执行。
在 SQL 中,相关子查询会对检索到的每一行数据各执行一次——这比简单子查询需要更多的计算资源和时间。
在本练习中,您将练习使用相关子查询来查找各国家中分数极端离群的比赛——超过平均分数的 3 倍!
本练习是课程的一部分
SQL 中的数据处理
练习说明
- 在
WHERE子句中开始编写子查询,计算主队与客队进球数的平均值。 - 补全子查询中的列引用,使
main与sub表中的country_id能正确匹配。
交互式实操练习
通过完成这段示例代码来试试这个练习。
SELECT
main.country_id,
main.date,
main.home_goal,
main.away_goal
FROM match AS main
WHERE
-- Filter the main query by the subquery
(home_goal + away_goal) >
(SELECT AVG((___ + sub.away_goal) * 3)
FROM match AS sub
-- Join the main query to the subquery with country_id in WHERE
WHERE main.___ = sub.___);