使用列表子查询进行筛选
本练习的目标是生成一份从未在主场城市比赛过的球队列表。请使用一个子查询,从未筛选的 match 表中生成唯一的 hometeam_ID 值列表,用于在 team 表的 team_api_ID 列中进行排除。
除了使用单值(标量)子查询进行筛选外,您还可以在子查询中创建一个值列表,根据一组更复杂的条件来筛选数据。这类子查询会为主查询生成一份「单列参考列表」。只要列表中的值与主查询表中的某一列匹配,您就无需使用连接(join)——即使该列表来自另一张表。
本练习是课程的一部分
SQL 中的数据处理
练习说明
- 在
WHERE子句中创建一个子查询,从match表中检索所有唯一的hometeam_id值。 - 从
team表中选择team_long_name和team_short_name。在主查询中排除子查询返回的所有值。
交互式实操练习
通过完成这段示例代码来试试这个练习。
SELECT
-- Select the team long and short names
___,
___
FROM ___
-- Exclude all values from the subquery
WHERE team_api_id ___ ___
(___ DISTINCT ___ FROM ___);