这比较短,而且执行速度可能也更快
SELECt e1.empname, d.deptnamefrom ( SELECt e2.deptid FROM employee AS e2 GROUP BY e2.deptid HAVINg COUNT(e2.empid) >= 4 ) Ginner join employee AS e1 on e1.deptid = G.deptidINNER JOIN department AS d on d.deptid = G.deptidORDER BY e1.empname;
从分组开始。您不需要内部查询中的COUNT。然后,联接两个表只是为了获得名称。
*之所以使用 *INNER JOIN, 是因为一旦计数完成,我们已经知道
- 员工存在
- 该部门存在
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)