LeetCode力バックルブラシタイトルデータベース(184):最高の従業員の部門の賃金

タイトル

Employeeテーブルには、それぞれがその対応する従業員ID、給与および部門IDを持っている、すべての従業員に関する情報が含まれています。

ここに画像を挿入説明
Departmentテーブルには、会社のすべてのセクターに関する情報が含まれています。

ここに画像を挿入説明
各部門の従業員の最も高い賃金を見つけるために、SQLクエリを記述します。例えば、上記の表によると、マックスは、IT部門の最高賃金を持っていた、ヘンリーは、営業部門で最も高い賃金を持っていました。
ここに画像を挿入説明

分析

-- 查看员工表
SELECT
	* 
FROM
	employee;

ここに画像を挿入説明

-- 查看部门表
SELECT
	* 
FROM
	department;

ここに画像を挿入説明

-- 每个部门的最大薪水
SELECT
	DepartmentId,
	MAX( Salary ) 
FROM
	Employee 
GROUP BY
	DepartmentId;
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200225113606400.png)
-- 连接员工表和部门表
SELECT
	* 
FROM
	Employee
	JOIN department ON Employee.DepartmentId = Department.Id;

ここに画像を挿入説明

-- 加上前面那个部门薪水最高的表过滤一下
SELECT
	* 
FROM
    Employee
        JOIN
    Department ON Employee.DepartmentId = Department.Id
WHERE
    (Employee.DepartmentId , Employee.Salary) IN
    (   SELECT
            DepartmentId, MAX(Salary)
        FROM
            Employee
        GROUP BY DepartmentId
	)
;

ここに画像を挿入説明

-- 列名
SELECT
	Department.Name as Department,
	Employee.Name as Employee,
	Salary
FROM
    Employee
        JOIN
    Department ON Employee.DepartmentId = Department.Id
WHERE
    (Employee.DepartmentId , Employee.Salary) IN
    (   SELECT
            DepartmentId, MAX(Salary)
        FROM
            Employee
        GROUP BY DepartmentId
	)
;

ここに画像を挿入説明

答え

-- 查看员工表
SELECT
	* 
FROM
	employee;
	
-- 查看部门表
SELECT
	* 
FROM
	department;
	
-- 每个部门的最大薪水
SELECT
	DepartmentId,
	MAX( Salary ) 
FROM
	Employee 
GROUP BY
	DepartmentId;
	
-- 连接员工表和部门表
SELECT
	* 
FROM
	Employee
	JOIN department ON Employee.DepartmentId = Department.Id;

-- 加上前面那个部门薪水最高的表过滤一下
SELECT
	* 
FROM
    Employee
        JOIN
    Department ON Employee.DepartmentId = Department.Id
WHERE
    (Employee.DepartmentId , Employee.Salary) IN
    (   SELECT
            DepartmentId, MAX(Salary)
        FROM
            Employee
        GROUP BY DepartmentId
	)
;

	
	
-- 列名
SELECT
	Department.Name as Department,
	Employee.Name as Employee,
	Salary
FROM
    Employee
        JOIN
    Department ON Employee.DepartmentId = Department.Id
WHERE
    (Employee.DepartmentId , Employee.Salary) IN
    (   SELECT
            DepartmentId, MAX(Salary)
        FROM
            Employee
        GROUP BY DepartmentId
	)
;



関連事業

6ヶ月以内

から

1 6ヶ月〜1年

ここに画像を挿入説明

1年~2年

ここに画像を挿入説明

公開された527元の記事 ウォンの賞賛651 ・は 80000 +を見て

おすすめ

転載: blog.csdn.net/qq_35456045/article/details/104494078