【发布时间】:2019-09-04 11:34:30
【问题描述】:
我有 2 张桌子,部门和员工。我需要获取每个部门最高薪水的员工姓名。
create table Dep(name_dep char, id_dep int);
insert into Dep values("econ", 1);
insert into Dep values("credit", 2);
insert into Dep values("energy", 3);
insert into Dep values("retail", 4);
insert into Dep values("manufactury", 5);
create table Emp(id_emp int, id_dep int, age int, person_name char, salary int );
insert into Emp values(1, 1, 23, 'john', 200);
insert into Emp values(3, 2, 3, 'dalbai', 100);
insert into Emp values(6, 3, 53, 'borat', 300);
insert into Emp values(7, 1, 63, 'erjan', 1600);
insert into Emp values(9, 2, 73, 'sergey', 1000);
insert into Emp values(8, 5, 83, 'lucy', 20);
insert into Emp values(90, 4, 93, 'mike', 1200);
如何查询各部门最高工资的员工姓名? 我的查询:
SELECT person_name, name_dep
FROM Emp e
INNER JOIN
(
SELECT name_dep, MAX(salary) AS max_salary
FROM Dep d
GROUP BY id_dep
) d
ON e.id_dep = d.id_dep
【问题讨论】:
-
您的查询有什么问题?您是否错过了将
max_salary添加到SELECT语句中的列? -
@Sami,我不知道,我对整个查询感到困惑
标签: sql max inner-join