开始使用免费开始使用

使用标量子查询进行过滤

子查询在处理复杂的过滤和转换时非常强大。借助子查询,您可以基于单个(标量)值来过滤数据,这是仅用 WHERE 子句或连接无法实现的。子查询也可用于对数据集进行更高级的处理。在任何使用关系型数据库的真实业务场景中,您都很可能会遇到子查询。

在本练习中,您将生成一份比赛清单:这些比赛的总进球数(两队进球相加)超过 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 ___); 
编辑并运行代码