2022-12-03:部门工资最高的员工。以下数据Max 和 Jim 在 IT 部门的工资都是最高的,Henry 在销售部的工资最高。sql语句如何写? 输出结果如下: department emp

Posted 福大大架构师每日一题

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2022-12-03:部门工资最高的员工。以下数据Max 和 Jim 在 IT 部门的工资都是最高的,Henry 在销售部的工资最高。sql语句如何写? 输出结果如下: department emp相关的知识,希望对你有一定的参考价值。

2022-12-03:部门工资最高的员工。以下数据Max 和 Jim 在 IT 部门的工资都是最高的,Henry 在销售部的工资最高。sql语句如何写?
输出结果如下:
department employee salary
IT Jim 90000
Sales Henry 80000
IT Max 90000

表结构和数据如下:

DROP TABLE IF EXISTS `department`;
CREATE TABLE `department` (
  `id` int(11) NOT NULL,
  `name` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

INSERT INTO `department` VALUES ('1', 'IT');
INSERT INTO `department` VALUES ('2', 'Sales');

DROP TABLE IF EXISTS `employee`;
CREATE TABLE `employee` (
  `id` int(11) NOT NULL,
  `name` varchar(255) NOT NULL,
  `salary` int(11) NOT NULL,
  `department_id` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

INSERT INTO `employee` VALUES ('1', 'Joe', '70000', '1');
INSERT INTO `employee` VALUES ('2', 'Jim', '90000', '1');
INSERT INTO `employee` VALUES ('3', 'Henry', '80000', '2');
INSERT INTO `employee` VALUES ('4', 'Sam', '60000', '2');
INSERT INTO `employee` VALUES ('5', 'Max', '90000', '1');

答案2022-12-03:

sql语句如下:

SELECT
    department.name AS 'department',
    employee.name AS 'employee',
    salary
FROM
    employee
        JOIN
    department ON employee.department_id = department.id
WHERE
    (employee.department_id , salary) IN
    (   SELECT
            department_id, MAX(salary)
        FROM
            employee
        GROUP BY department_id
	)

执行结果如下:

以上是关于2022-12-03:部门工资最高的员工。以下数据Max 和 Jim 在 IT 部门的工资都是最高的,Henry 在销售部的工资最高。sql语句如何写? 输出结果如下: department emp的主要内容,如果未能解决你的问题,请参考以下文章

力扣——部门工资最高的员工(数据库的题

SQL练习——查询部门工资最高的员工

LeetCode(数据库)- 部门工资最高的员工

184. 部门工资最高的员工

文巾解题 184. 部门工资最高的员工

350部门工资最高的员工