我正在尝试生成一个 SQL 查询来查找部门名称(带有员工姓名),其中有超过 2 名员工的工资大于相应部门平均工资的 90%。我的 SQL 代码运行良好,没有语法错误,但输出给了我额外的数据。表如下
琼斯会计 3000 钢铁会计 2500 威尔逊研究 3000 沃尔夫研究 2500 李研究2400 兰开斯特销售额 2000 杰克逊销售额 2500 费希尔销售额 3000 亚当斯 IT 2000 米勒 IT 1000 斯科特 IT 2500 史密斯 IT 2900 国王行政 5000 约斯特执行 4500 克拉克执行官 4000
我的代码如下。
Select department_name , employee_name
from department d , employee e
where e.department_id = d.department_id
and (SELECT COUNT(*)
FROM Employee E
WHERE E.department_ID = D.department_ID) > 2
and salary >
0.9*(SELECT ROUND(AVG(salary),2)
FROM employee e_inner
WHERE e_inner.department_id = e.department_id);
我注意到我的代码返回了超过 2 名员工且薪水 > 部门平均薪水 90% 的部门的值。而我正在寻找拥有超过 2 名员工且工资超过部门平均工资 90% 的部门