题目内容:
题目地址:
181. 超过经理收入的员工
Id是该表的主键。
该表的每一行都表示雇员的ID、姓名、工资和经理的ID。
编写一个SQL查询来查找收入比经理高的员工。以任意顺序返回结果表。
示例输出
思路分析:
该题考自连接!自身与自身进行连接
分析:首先对managerid的理解,是指自己的上司的id,id为1的managerid是3,即Joe的上司是Sam。
将该表直接拆分成两张表
一张是id表,一张表是managerid表,两张表通过id和managerid建立连接,一个主键一个外键,因此自身接的条件就是id和managerid相等,工资员工大于经理再加个判断即可
题解:
题解:用Join连接显示连接,也可用隐式连接
隐式连接
select e.name Employee
from employee e , employee e1
where e.managerid = e1.id and e.salary > e1.salary
显示连接
select e.name Employee
from employee e
join employee e1
on e.managerid = e1.id and e.salary > e1.salary