MySQL-11练习:至少有五名直接下属的经理

在MySQL中,我们需要从Employee表中查找那些有至少五个直接下属的经理。通过使用子查询和GROUP BY结合HAVING COUNT来实现这一目标。查询结果返回了名为John的经理,他有五个下属。
摘要由CSDN通过智能技术生成

MySQL-11练习:至少有五名直接下属的经理

题目

Employee包含所有员工及其上级的信息。每位员工都有一个Id,并且还有一个对应主管的Id(ManagerId)。

+------+----------+-----------+----------+
|Id    |Name 	  |Department |ManagerId |
+------+----------+-----------+----------+
|101   |John 	  |A 	      |null      |
|102   |Dan 	  |A 	      |101       |
|103   |James 	  |A 	      |101       |
|104   |Amy 	  |A 	      |101       |
|105   |Anne 	  |A 	      |101       |
|106   |Ron 	  |B 	      |101       |
+------+----------+-----------+----------+

针对Employee表,写一条SQL语句找出有5个下属的主管。对于上面的表,结果应输出:

+-------+
| Name  |
+-------+
| John  |
+-------+

解答

SELECT Name
  FROM Employee AS k1
  JOIN (SELECT ManagerId
  		  FROM Employee
  	  GROUP BY ManagerId
  	    HAVING COUNT(ManagerId) >= 5) AS k2
  	ON k1.Id = k2.ManagerId;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值