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

本文介绍如何通过SQL自连接的方法,查询Employee表,找出至少有5个直接下属的经理。作者提供了一个简单的解决方案并验证了其可行性。
摘要由CSDN通过智能技术生成

前言

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

今日题目:

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

列名类型
idint
namevarchar
departmentvarchar
managerIdint

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

结果:

在这里插入图片描述


总结:

能运行就行。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值