通过外键关联的表进行 JOIN
让我们把这两个表连接起来,进一步分析数据!
您可能已经在 Intro to SQL for Data Science 课程(最后一个练习)或 Joining Data in PostgreSQL 中学过 SQL 的连接是如何工作的。
下面是一次简要回顾,连接通常这样写:
SELECT ...
FROM table_a
JOIN table_b
ON ...
WHERE ...
虽然进行连接查询并不严格要求外键和主键,但它们能极大地提供帮助,因为它们告诉您应该期待什么。比如,您可以确信从表 A 引用的记录一定会存在于表 B 中——因此,从表 A 发起的连接在表 B 中总能匹配到结果。否则,就会违反外键约束。
本练习是课程的一部分
SQL 关系型数据库入门
练习说明
- 使用
JOIN将professors与universities按professors.university_id = universities.id连接,也就是说,仅保留professors的外键等于universities的主键的记录。 - 过滤条件为
university_city = 'Zurich'。
交互式实操练习
通过完成这段示例代码来试试这个练习。
-- Select all professors working for universities in the city of Zurich
SELECT professors.lastname, universities.id, universities.university_city
___ professors
___ ___
ON ___.university_id = universities.___
___ universities.university_city = ___;