SQL留下外连接

时间:2013-06-07 15:51:49

标签: sql left-join outer-join

所以我有一张员工编号为(empno)name(ename)manager number(mgr)的表格。
问题:列出所有员工的姓名以及经理的姓名和经理经理的姓名,如果经理不存在,请在任意左侧留空。

到目前为止我所拥有的:
 SELECT a.ename, b.ename, b.mgr FROM emp a LEFT OUTER JOIN emp b ON a.mgr=b.empno

这显示了员工,他们的经理和他们的经理的号码......任何能够帮助我将第三列中的经理号码更改为名称的人?

1 个答案:

答案 0 :(得分:1)

你已经离开了大部分地方,你想要做的就是你在第一次加入时做的事情。

SELECT a.ename, 
       b.ename, 
       c.ename 
FROM emp a 
 LEFT OUTER JOIN emp b 
     ON a.mgr=b.empno;
 LEFT OUTER JOIN emp c
     ON b.mgr=c.empno

注意:我会为你的别名使用更友好的名字。 a,b,c非常令人困惑。