mysql:子查询返回多于一行

我试图通过在MySQL中使用子查询来解决下面给出的问题,但找不到解决方案,因为它显示子查询返回多行。mysql:子查询返回多于一行

问题描述:显示雇员的名字与他们的薪水和他们的经理和经理 工资。
显示那些只有经理被聘用的员工。

select w.ename employee, w.SAL woSal, m.ename manager, m.SAL mSal 

from emp w, emp m

where w.mgr = m.empno and

(SELECT E1.ENAME

FROM EMP E1, EMP E2

WHERE E1.MGR=E2.EMPNO and (E1.hiredate<E2.hiredate));

回答:

您不需要子查询 - 只需将条件添加到连接条件。还要注意的是隐含的加入(该from子句中使用多个表)被认为是过时,你可能会更好重写它作为一个显式连接:

SELECT w.ename employee, w.SAL woSal, m.ename manager, m.SAL mSal 

FROM emp w

JOIN emp m

WHERE w.mgr = m.empno and w.hiredate < m.hiredate

以上是 mysql:子查询返回多于一行 的全部内容, 来源链接: utcz.com/qa/261381.html

回到顶部