开始使用免费开始使用

在 FROM 中扩展子查询

在上一个练习中,您发现 England、Netherlands、Germany 和 Spain 是数据库中唯一出现过总进球数达到 10 球或以上比赛的国家。现在让我们进一步查看这些比赛的细节——比赛时间、赛季,以及主队与客队各自的进球数。

您会注意到,在本练习中,主查询所选择的每一列都没有使用表别名。这是因为主查询是从子查询中取数,而子查询被视为"一张表"。

本练习是课程的一部分

SQL 中的数据处理

查看课程

练习说明

  • 完成 FROM 子句中的子查询。从 country 表中选择国家 name,并从 match 表中选择 datehome_goalaway_goaltotal_goals 列。
  • 子查询中创建一列,将主客队进球相加,命名为 total_goals。这将用于筛选主查询。
  • 查询中选择 countrydatehome_goalaway_goal
  • 筛选主查询,使总进球数为10 或以上的比赛保留下来。

交互式实操练习

通过完成这段示例代码来试试这个练习。

SELECT
	-- Select country, date, home, and away goals from the subquery
    ___,
    date,
    ___,
    away_goal
FROM 
	-- Select country name, date, home_goal, away_goal, and total goals in the subquery
	(SELECT ___ AS country, 
     	    m.date, 
     		___, 
     		m.away_goal,
           (___ + m.away_goal) AS total_goals
    FROM match AS m
    LEFT JOIN country AS c
    ON m.country_id = c.id) AS subq
-- Filter by total goals scored in the main query
WHERE total_goals ___ ___;
编辑并运行代码