开始使用免费开始使用

先用 UNION 再 JOIN 的查询

您的目标是创建与之前相同的报告,包含以下字段:

  • season,输出 summerwinter
  • country
  • events,显示去重后的赛事数量

在本练习中,请采用先 UNION、后 JOIN 的方式来编写查询。使用这种方法时,您需要将初始的 UNION 查询作为一个子查询。该子查询必须包含所有相关字段,包括用于连接的字段。

一如既往,您可以参考 E:R 图

本练习是课程的一部分

SQL 报表制作

查看课程

练习说明

  • 在子查询中,通过将夏季和冬季的比赛用 UNION ALL 合并,构造输出 seasoncountry_idevent 的查询。
  • 使用 JOIN 和另一个 SELECT 语句,显示字段 seasoncountry 和去重后的 events
  • 对所有未聚合的字段使用 GROUP BY
  • events 降序排序报告。

交互式实操练习

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

-- Add outer layer to pull season, country and unique events
SELECT 
	____, 
    ____, 
    ____ AS events
FROM
    -- Pull season, country_id, and event for both seasons
    (SELECT 
     	____ AS season, 
     	____, 
     	____
    FROM ____
    ____
    SELECT 
     	____ AS season, 
     	____, 
     	____
    FROM ____) AS subquery
JOIN ____ AS c
ON ____
-- Group by any unaggregated fields
GROUP BY ____
-- Order to show most events at the top
ORDER BY ____;
编辑并运行代码