检查多表连接
请查看下方上一条查询中 Albania 的结果。您会发现 2015 年的 fertility_rate 与 2010 年的 unemployment_rate 被配对,反之亦然。
| name | year | fertility_rate | unemployment_rate |
|---|---|---|---|
| Albania | 2015 | 1.663 | 17.1 |
| Albania | 2010 | 1.663 | 14 |
| Albania | 2015 | 1.793 | 17.1 |
| Albania | 2010 | 1.793 | 14 |
查询本应返回 2 条记录,每年 1 条,而不是 4 条。上一次的连接条件只使用了 c.code = e.code,没有同时在 year 上连接。您在本练习中的任务是修正查询,明确要求国家 code 和 year 都必须匹配!
本练习是课程的一部分
SQL 数据连接
练习说明
- 修改查询,使其在连接到
economies时同时基于year和code。
交互式实操练习
通过完成这段示例代码来试试这个练习。
SELECT name, e.year, fertility_rate, unemployment_rate
FROM countries AS c
INNER JOIN populations AS p
ON c.code = p.country_code
INNER JOIN economies AS e
ON c.code = e.code
-- Add an additional joining condition such that you are also joining on year
___;