繁体   English   中英

MySQL查询以打印每个员工的姓名和工资

[英]MySQL query to print name and salary of each employee

我有这个架构:

Emp(eid: integer,ename: string,age: integer,salary: real)
Works(eid:integer,did: integer,pct_time: integer)
Dept(did:integer,budget: real,managerid:integer)

我正在尝试打印每位薪水超过其工作所在部门预算的员工的姓名和薪资。

我有此SQL语句,但它为ename返回一个空列,我不确定为什么。 有人可以帮忙吗?

select E.ename, E.Salary
from Emp E
where E.salary > all (select D.budget
    from Dept D, Works W
    where E.eid = W.eid and D.did = W.did)

您可以通过普通联接来做到这一点

SELECT E.ename
FROM Emp E
JOIN Works W ON E.eid = W.eid
JOIN Dept D ON D.did = W.did
WHERE E.salary > D.budget

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM