SQL简单连接条件

时间:2017-04-07 02:00:56

标签: mysql sql

enter image description here我是SQL新手。我正在阅读Elmasri的数据库系统基础。 我正在研究一个非常简单的select-project-join。这是本书中的一个例子。 查询说明:

  

对于位于'Stafford'的每个项目,列出项目编号,   控制部门编号和部门经理的姓氏,   地址和出生日期。

SELECT Pnumber, Dnum, Lname, Address, Bdate
FROM PROJECT, DEPARTMENT, EMPLOYEE
WHERE Dnum=Dnumber AND Mgr_ssn=Ssn AND
Plocation=‘Stafford’;

附加了关系数据库架构。

以下是我的问题:是否必须Dnum=Dnumber AND Mgr_ssn=ssn?为什么不Dnum=Dnumber AND Dno=Dnumber

2 个答案:

答案 0 :(得分:2)

如果您使用Dno = Dnumber,您将获得所有部门中的员工,而不仅仅是部门经理。

答案 1 :(得分:0)

对于你的问题,因为描述说明了

  

...列出部门经理的姓氏,地址和出生日期

因此,使用Mgr_ssn=Ssn加入足够的条件。由于表格设计,它隐含了必要条件 Dno=Dnumber,因此您可能(或可能不)需要将其添加到您的查询中。

另外,您的图书有点陈旧,您应该考虑阅读一些外部链接,例如avoiding using old style joinusing table alias