编写SQL查询以从多个表返回数据

时间:2019-01-14 00:13:57

标签: sql database ms-access

我正在阅读一本数据库教科书,并且坚持进行某些练习。

book第74页上的问题6,以及我正在处理的数据库副本here。在第72页上,您可以看到两个表的一部分。我想编写一个SQL查询,该查询将返回部门名称,部门经理/部门主管的姓氏以及在此工作的员工的姓氏。

例如

营销鲱鱼Holt

因此,我可以使用以下SQL查询打印部门名称,经理的empId和员工的姓氏。

SELECT department, manager, lastName
FROM Department d
INNER JOIN Employee e
ON e.dept = d.deptId;

1 个答案:

答案 0 :(得分:0)

使用自我加入获取经理与员工的关系记录

SELECT d.department, 
       e1.lastname As Employee, 
       e.lastname As Manager
FROM   (employee AS e 
        INNER JOIN department AS d 
                ON d.deptid = e.dept ) 
       INNER JOIN employee AS e1 
               ON e1.supervisor = e.empid 

编辑:所问问题的确切解决方案

SELECT d.department, m.lastName, e.lastName
FROM (employee AS e INNER JOIN department AS d  ON d.deptId = e.dept)
INNER JOIN employee AS m ON d.manager = m.empId;