超过经理收入的员工(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      |
+----------+

答案: select * FROM employee AS a, employee AS b where a.ManagerId = b.Id and a.Salary > b.Salary拓展:选出有经理的员工即manageredId不为空 select Id from employee where ManagerId is not null  :当where中id对应有多个值的时候使用in  查出不为空的经理的薪水 select ManagerId from employee where Id in (select Id from employee where ManagerId is not null)

原文地址:https://www.cnblogs.com/jiyanjiao-702521/p/12625242.html

时间: 2024-10-14 07:09:59

超过经理收入的员工(Sql语句)的相关文章

181. 超过经理收入的员工

Employee 表包含所有员工,他们的经理也属于员工.每个员工都有一个 Id,此外还有一列对应员工的经理的 Id. +----+-------+--------+-----------+ | Id | Name | Salary | ManagerId | +----+-------+--------+-----------+ | 1 | Joe | 70000 | 3 | | 2 | Henry | 80000 | 4 | | 3 | Sam | 60000 | NULL | | 4 | M

超过经理收入的员工

Employee 表包含所有员工,他们的经理也属于员工.每个员工都有一个 Id,此外还有一列对应员工的经理的 Id. +----+-------+--------+-----------+ | Id | Name | Salary | ManagerId | +----+-------+--------+-----------+ | 1 | Joe | 70000 | 3 | | 2 | Henry | 80000 | 4 | | 3 | Sam | 60000 | NULL | | 4 | M

力扣——超过经理收入的员工(数据库的题

Employee 表包含所有员工,他们的经理也属于员工.每个员工都有一个 Id,此外还有一列对应员工的经理的 Id. +----+-------+--------+-----------+ | Id | Name | Salary | ManagerId | +----+-------+--------+-----------+ | 1 | Joe | 70000 | 3 | | 2 | Henry | 80000 | 4 | | 3 | Sam | 60000 | NULL | | 4 | M

leetcode181 超过经理收入的员工 Employees Earning More Than Their Managers

Employee表包含所有员工,包括他们的经理.每个员工都有一个 Id,此外还有一列对应的经理Id. 创建表和数据: drop table EmployeeCreate table If Not Exists Employee (Id int, Name varchar(255), Salary int, ManagerId int); Truncate table Employee; insert into Employee (Id, Name, Salary,ManagerId) value

[SQL]LeetCode181. 超过经理收入的员工 | Employees Earning More Than Their Managers

SQL架构 1 Create table If Not Exists Employee (Id int, Name varchar(255), Salary int, ManagerId int) 2 Truncate table Employee 3 insert into Employee (Id, Name, Salary, ManagerId) values ('1', 'Joe', '70000', '3') 4 insert into Employee (Id, Name, Sala

sql语句(MySQL)

本篇源自网络,整理了sql99标准中增删改查的sql语句以及MySQL特有的语句. 数据库--MySql 数据仓库.就与我们之前学过的纯文本,properties这些技术一样.用来保存数据.并提供对数据进行增删改查的操作.我们以后做项目时,项目中的数据都是保存在数据库中的.//--------------------------------------------------------------------为什么要用数据库,数据库的特点 1>实现数据共享 2>减少数据的冗余度 3>数

《sql语句练习1》

Oracle系列<一>:简单SQL与单行函数 使用scott/tiger用户下的emp表和dept表完成下列练习,表的结构说明如下 emp员工表(empno员工号/ename员工姓名/job工作/mgr上级编号/hiredate受雇日期/sal薪金/comm佣金/deptno部门编号) dept部门表(deptno部门编号/dname部门名称/loc地点) 工资 = 薪金 + 佣金 登录Oracle数据库 1.sqlplus scott/tiger 2.sqlplus /nolog SQL&g

数据库性能优化之SQL语句优化

一.问题的提出 在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,随着数据库中数据的增加,系统的响应速度就成为目前系统需要解决的最主要的问题之一.系统优化中一个很重要的方面就是SQL语句的优化.对于海量数据,劣质SQL语句和优质SQL语句之间的速度差别可以达到上百倍,可见对于一个系统不是简单地能实现其功能就可,而是要写出高质量的SQL语句,提高系统的可用性. 在多数情况下,Oracle使用索

mysql之sql语句

SQL语句中的注释:-- 单行注释/* .... */ 多行注释每个sql语句结束需要写;来结束需要在某个库中添加表需要use这个库 SQL DML 和DDLDML 数据操作语言DDL 数据定义语言DML : 对数据库表的操作CREATE TABLE 创建新表 1 -- 创建一个员工表employee 2 3 create table employee( 4 id int primary key auto_increment , 5 name varchar(20), 6 gender bit