用SQL如何列出所有员工的姓名及其直接上级的姓名
1个回答
展开全部
select Table1.ename Table2.ename from emp Table1,emp Table2 where Table1.mgr=Table2 .empno 追问: 嗯是的呢 回答: 上面的不能运行吗?我在Sql Server里面测试过了没问题的。 提问者 的感言: 嗯可以了 你这个意思我大概明白了 也算比较好懂 麻烦你了 2009-08-24其他回答(4) 热心问友 2009-08-24差不多 追问: 可是不能出结果啊 高手帮忙看看 回答: 查询上级表中是否存在员工的名称么 补充: 字段没问题么 追问: 当然有的 可是不知道如何查询简单的就是select mgr,ename from emp可是规定要用子查询来写还是不能太熟练的掌握 麻烦指点指点 回答: 我是说你的员工姓名的字段在 上级表中是否存在或是 关联 主外键关系 ? 追问: 不存在的 回答: 什么不存在的啊 ...附耳细说6级2009-08-24不对select ename (select *** from *** where ****** ) mgr from emp derek9级2009-08-24 select emp.ename,emp1.ename as mgrename
from emp left outer join (select empno from mgr) emp1
on emp.mgr=emp1.empno 补充: 忘了取ename,改成
select emp.ename,emp1.ename as mgrename
from emp left outer join (select empno,ename from mgr) emp1
on emp.mgr=emp1.empno
考虑有的emp可能没有上级
from emp left outer join (select empno from mgr) emp1
on emp.mgr=emp1.empno 补充: 忘了取ename,改成
select emp.ename,emp1.ename as mgrename
from emp left outer join (select empno,ename from mgr) emp1
on emp.mgr=emp1.empno
考虑有的emp可能没有上级
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询