这是员工表,这里有员工id,员工名称,领导id,比较特殊是这里领导也是人,因此没有领导名字字段。
我本来的sql是:
select last_name,(select last from employees where employee_id=manager_id) as manager_name from employee;
查询没错,可是manager_name是空,我的思路是:
查询没错,可是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