Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL查询,打印每个员工的姓名和工资_Mysql_Sql_Database - Fatal编程技术网

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

谢谢你的快速回答。我没想到!