zdc253212956 发表于 2015-6-17 09:28:01

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:



selectname,
(selectname 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
  

  
页: [1]
查看完整版本: OCP课程员工表显示上司名称的sql