如何查询 sql 中的关系

How to query a relationship in sql

我是 SQL 的新手,我遇到了一个我似乎无法解决的练习。

here we have the schema of the database

如何获取与其工作的餐厅住在同一城市的所有员工的姓名?

我尝试使用连接查询,但由于 Restaurant 没有代表员工的外键,我想我必须通过 Works 关系。 我该如何进行?

您将需要不止一个连接。将其视为桥连接或中间连接

由于您的员工 table 和餐厅员工之间没有直接 link,您需要想办法。 在您的示例中,方法是通过具有 EmployeeSSN 和 RestaurantID

的 Work table

它应该给你这样的东西:

Select E.EmployeeSSN, R.RestaurantId
FROM Employee E
INNER JOIN WORKS W
ON E.EmployeeSSN = W.EmployeeSSN
INNER JOIN Restaurant R
ON W.RestaurantID = R.RestaurantID
WHERE E.city = R.city