SQL数据库练习③之超过经理收入的员工

SQL数据库练习③之超过经理收入的员工

一.拥有的表

Employee 表包含所有员工,他们的经理也属于员工。每个员工都有一个 Id,此外还有一列对应员工的经理的 Id。

±—±------±-------±----------+
| Id | Name | Salary | ManagerId |
±—±------±-------±----------+
| 1 | Joe | 70000 | 3 |
| 2 | Henry | 80000 | 4 |
| 3 | Sam | 60000 | NULL |
| 4 | Max | 90000 | NULL |
±—±------±-------±----------+

二.需求:超过经理收入的员工

给定 Employee 表,编写一个 SQL 查询,该查询可以获取收入超过他们经理的员工的姓名。在上面的表格中,Joe 是唯一一个收入超过他的经理的员工。

±---------+
| Employee |
±---------+
| Joe |
±---------+

三.解决方案[王子威]

分析

查询 表1员工.名字 别名设置为Employee
表有 Employee 表1员工表别名为staff 和 Employee 表2经理 别名为manager
条件 员工.工资 > 经理.工资 and 员工.经理id = 经理.id

SQL语句

Select staff.name as Employee 
from Employee as staff,Employee as manager  
where staff.salary > manager.salary and staff.managerId = manager.id

你可能感兴趣的:(#,sql,数据库,mysql)