开始使用免费开始使用

相关子查询入门

相关子查询是在主查询中引用一个或多个列的子查询。相关子查询依赖主查询中的信息来运行,因此无法单独执行。

在 SQL 中,相关子查询会对检索到的每一行数据各执行一次——这比简单子查询需要更多的计算资源和时间。

在本练习中,您将练习使用相关子查询来查找各国家中分数极端离群的比赛——超过平均分数的 3 倍!

本练习是课程的一部分

SQL 中的数据处理

查看课程

练习说明

  • WHERE 子句中开始编写子查询,计算主队与客队进球数的平均值
  • 补全子查询中的列引用,使 mainsub 表中的 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.___);
编辑并运行代码