MYSQL“;第二大部门的员工名单“;不是通过子查询
我有一个场景需要列出第二大部门的所有员工。(1名员工仅属于一个部门)。 我可以使用以下子查询获得结果:MYSQL“;第二大部门的员工名单“;不是通过子查询,mysql,join,Mysql,Join,我有一个场景需要列出第二大部门的所有员工。(1名员工仅属于一个部门)。 我可以使用以下子查询获得结果: SELECT empno,ename,deptno FROM emp WHERE deptno = ( SELECT deptno FROM emp GROUP BY deptno ORDER BY COUNT(*) DESC LIMIT 1,1
SELECT empno,ename,deptno
FROM emp
WHERE deptno = (
SELECT deptno
FROM emp
GROUP BY deptno
ORDER BY COUNT(*) DESC LIMIT 1,1
)
但是,如果我想使用连接得到相同的结果呢。我如何才能做到这一点?在MySQL中,您可以使用
MySQL还是SQL Server
TOP
是一种SQL server语法,在MySQL中不起作用。请编辑这个问题。它是mysql。不要使用所有的大写字母。被认为是大喊大叫,毫无疑问。谢谢你,胡安。下次会记住的。谢谢你,玛德胡。但这看起来也像一个子查询。我的mysql知识薄弱。所以我不确定。您能解释一下吗?@user3910197这是一种子查询,但它会很有效,因为它只计算一次。请仔细阅读答案中给出的派生表
链接。谢谢Madhur。我们可以在逻辑中的任何地方使用“拥有”而不使用子查询(),而且我也会失败,因为我也认为这是子查询。但正如Madhur所说,这是一个派生表。谢谢Madhur的帮助。
SELECT empno,ename,deptno
FROM emp AS t1
JOIN (SELECT t2.deptno
FROM emp AS t2
GROUP BY t2.deptno
ORDER BY COUNT(*) DESC
LIMIT 1,1
) AS t3 ON t3.deptno = t1.deptno