OCP课程员工表显示上司名称的sql

这是员工表,这里有员工id,员工名称,领导id,比较特殊是这里领导也是人,因此没有领导名字字段。

我本来的sql是:

 select last_name,(select last from employees where employee_id=manager_id) as manager_name from employee;
查询没错,可是manager_name是空,我的思路是:

通过select employee_id,manager_id from employees,查询,可以得到这里的manager_id,然后我再select name=manger_id,不就行了

被告知:

修改这个sql:

select  name,
(select  name from employees m where m.employee_id=w.manager_id) mgr_name 
from employees w 

注意这里()内部m.employee_id=w.manager_id,不可以是

 

或者老师的内连接写法:

select a.name,b.name from employees a,employees b where a.manager_id=b.employee_id(+)

这里的+就是left join,不加上就没有king

select a.name,b.name from employees a left join employees b
 on a.manager_id=b.employee_id 

 

原文地址:https://www.cnblogs.com/sumsen/p/2785289.html