如何查询 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
我是 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