*LeetCode MySQL 2つのテーブルから部門給与が最も高い従業員を検索
1917 ワード
Q :
SQLクエリーを作成し、各部門で最も給料の高い従業員を見つけます.例えば、以下に示す表によれば、MaxはIT部門で最高賃金、HenryはSales部門で最高賃金である.
Employee:
Id
Name
Salary
DepartmentId
1
Joe
70000
1
2
Henry
80000
2
3
Sam
60000
2
4
Max
90000
1
Department:
Id
Name
1
IT
2
Sales
A:
SQLクエリーを作成し、各部門で最も給料の高い従業員を見つけます.例えば、以下に示す表によれば、MaxはIT部門で最高賃金、HenryはSales部門で最高賃金である.
Employee:
Id
Name
Salary
DepartmentId
1
Joe
70000
1
2
Henry
80000
2
3
Sam
60000
2
4
Max
90000
1
Department:
Id
Name
1
IT
2
Sales
A:
SELECT
Department.name as "Department",
Employee.name as "Employee",
Salary
FROM
Employee JOIN Department
ON
Employee.departmentId = Department.Id
WHERE
(Employee.departmentId, Salary) IN
( SELECT departmentId, MAX(Salary)
FROM Employee
GROUP BY departmentId
)
;