☆打卡算法☆LeetCode 181. 超过经理收入的员工 算法解析

简介: ☆打卡算法☆LeetCode 181. 超过经理收入的员工 算法解析

大家好,我是小魔龙,Unity3D软件工程师,VR、AR,虚拟仿真方向,不定时更新软件开发技巧,生活感悟,觉得有用记得一键三连哦。

一、题目

1、算法题目

“编写SQL查询,来查找收入比经理高的员工。”

2、题目描述

表:Employee 
+-------------+---------+
| Column Name | Type    |
+-------------+---------+
| id          | int     |
| name        | varchar |
| salary      | int     |
| managerId   | int     |
+-------------+---------+
Id是该表的主键。
该表的每一行都表示雇员的ID、姓名、工资和经理的ID。

编写一个SQL查询来查找收入比经理高的员工。

任意顺序 返回结果表。

查询结果格式如下所示。

示例 1:
输入: 
Employee 表:
+----+-------+--------+-----------+
| id | name  | salary | managerId |
+----+-------+--------+-----------+
| 1  | Joe   | 70000  | 3         |
| 2  | Henry | 80000  | 4         |
| 3  | Sam   | 60000  | Null      |
| 4  | Max   | 90000  | Null      |
+----+-------+--------+-----------+
输出: 
+----------+
| Employee |
+----------+
| Joe      |
+----------+
解释: Joe 是唯一挣得比经理多的雇员。
示例 2:

二、解题

1、思路分析

题意要我们找出员工工资超过经理的人员。

首先,需要先理解这张表:

1702380427850.jpg

这个表的意思是:

  • Sam是Joe的经理
  • Max是Henry的经理

这一块理解之后,就很容易解出来结果。

采用自连接的方式,一张表当成两张表来使用:

A.managerid=B.id

然后再查找工资更好的员工:

a.Salary?b.Salary

2、代码实现

代码参考:

select a.name as Employee from Employee as a,Employee as b
where a.ManagerId = b.Id and a.Salary > b.Salary 

1702380457023.jpg

3、时间复杂度

时间复杂度:

空间复杂度:

三、总结

1、连接两张表 2、限定条件A.managerid=B.id 3、找到工资更高的员工a.Salary?b.Salary

相关文章
|
7天前
|
存储 机器学习/深度学习 算法
|
9天前
|
机器学习/深度学习 数据采集 人工智能
【热门话题】AI作画算法原理解析
本文解析了AI作画算法的原理,介绍了基于机器学习和深度学习的CNNs及GANs在艺术创作中的应用。从数据预处理到模型训练、优化,再到风格迁移、图像合成等实际应用,阐述了AI如何生成艺术作品。同时,文章指出未来发展中面临的版权、伦理等问题,强调理解这些算法对于探索艺术新境地的重要性。
23 3
|
10天前
|
存储 算法 安全
|
12天前
|
存储 算法 程序员
C++从入门到精通:2.2.1标准库与STL容器算法深度解析
C++从入门到精通:2.2.1标准库与STL容器算法深度解析
|
13天前
|
机器学习/深度学习 存储 人工智能
数据结构与算法设计:深度解析与实践
数据结构与算法设计:深度解析与实践
16 0
|
14天前
|
JSON 数据格式
Javaweb之SpringBootWeb案例之修改员工的详细解析
Javaweb之SpringBootWeb案例之修改员工的详细解析
13 0
|
14天前
|
JSON 数据库 数据安全/隐私保护
Javaweb之SpringBootWeb案例之修改员工的修改回显的详细解析
Javaweb之SpringBootWeb案例之修改员工的修改回显的详细解析
13 0
|
14天前
|
JSON 前端开发 测试技术
Javaweb之SpringBootWeb案例员工管理之新增员工的详细解析
Javaweb之SpringBootWeb案例员工管理之新增员工的详细解析
15 0
|
14天前
|
SQL JSON 前端开发
Javaweb之SpringBootWeb案例员工管理之删除员工的详细解析
Javaweb之SpringBootWeb案例员工管理之删除员工的详细解析
11 0
|
14天前
|
SQL Java 数据库连接
Javaweb之SpringBootWeb案例员工管理分页查询(带条件)的详细解析
Javaweb之SpringBootWeb案例员工管理分页查询(带条件)的详细解析
13 0

推荐镜像

更多