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

时间:2017-03-18 18:00:53

标签: mysql sql database

我有这个架构:

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)

1 个答案:

答案 0 :(得分:1)

您可以使用普通联接

执行此操作
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