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 |
+----------+

题解:

方法一查出两个表(都是Employee表),分别As为a,b

SELECT
*
FROM
Employee AS a,
Employee AS b
WHERE
a.ManagerId = b.Id
AND a.Salary > b.Salary

方法二:使用JOIN将两个表(同一个表)连接起来,使用on指定条件(a.ManagerId = b.Id)

SELECT
a.NAME AS Employee
FROM Employee AS a JOIN Employee AS b
ON a.ManagerId = b.Id
AND a.Salary > b.Salary

摘自:https://leetcode-cn.com/problems/employees-earning-more-than-their-managers/solution/chao-guo-jing-li-shou-ru-de-yuan-gong-by-leetcode/

最新文章

  1. 修复 VirtualBox 下 Ubuntu 14.10 屏幕分辨率问题
  2. effective OC2.0 52阅读笔记(三 接口与API设计)
  3. Struts2中重定向和请求转发配置
  4. 逻辑卷管理LVM (Logical Volume Manager)
  5. SpringMVC简单构造restful, 并返回json
  6. JS 学习笔记--9---变量-作用域-内存相关
  7. poj 3264 RMQ
  8. 读书笔记-《基于Oracle的SQL优化》-第一章-3
  9. API说明书规范
  10. 队列优化的dijkstra
  11. python3安装docx模块出现Import Error: No module named 'exceptions'
  12. 我发起并创立了一个 Javascript 前端库 开源项目 jWebForm
  13. c/c++ 标准顺序容器 容器的访问,删除 操作
  14. centos7破解安装confluence5.9.11
  15. WPFの获取任意元素的位置
  16. ajax获取的数据如何渲染到dom元素上
  17. MySql left join 多表连接查询优化语句
  18. day29 socketsever ftp功能简单讲解
  19. Java并发工具类之CountDownLatch
  20. 关于Golang中database/sql包的学习

热门文章

  1. linux mysql修改数据表结构语法
  2. Spring之AOP简单demo
  3. JVM(2)之 JAVA堆
  4. 给公司个别安装好的系统环境处理-相当half系统初始化脚本shell
  5. 设备树中#address-cells和#size-cells作用
  6. jffs2镜像制作
  7. Go 迭代切片
  8. Redis GeoHash
  9. Halo(八)
  10. vue项目轮播图的实现