我有这个架构:
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)
答案 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