MySQL查询,打印每个员工的姓名和工资
我有这个模式:MySQL查询,打印每个员工的姓名和工资,mysql,sql,database,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返回一个空列,我不知道为什么。有人能帮忙吗 selec
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
谢谢你的快速回答。我没想到!