【力扣白嫖日记】570.至少有5名直接下属的经理

前言

练习sql语句,所有题目来自于力扣(https://leetcode.cn/problemset/database/)的免费数据库练习题。

今日题目:

570.至少有5名直接下属的经理
表:Employee

列名 类型
id int
name varchar
department varchar
managerId int

id 是此表的主键(具有唯一值的列)。
该表的每一行表示雇员的名字、他们的部门和他们的经理的id。如果managerId为空,则该员工没有经理。
没有员工会成为自己的管理者。

编写一个解决方案,找出至少有五个直接下属的经理。


我那不值一提的想法:

  • 首先梳理表内容,题干一共给了一张员工表,记录了员工id,员工姓名,部门以及对应经理的id。
  • 其次分析需求,需要找到至少有五个直接下属的经理
  • 对于这类题,我想到的第一个思路就是自连接,首先将两张表连接,其次设置条件e1.id = e2.managerId,这样就使得e1表是经理表,e2表是员工表,然后设置条件count(*) > = 5,得到我们的最终结果
select e1.name
from Employee e1 ,Employee e2 
where e1.id = e2.managerId
group by e1.id
having count(*) >=5

结果:

【力扣白嫖日记】570.至少有5名直接下属的经理_第1张图片


总结:

能运行就行。


你可能感兴趣的:(力扣刷题,leetcode,数据库,sql)