Mysql 部门最高工资+2000

Mysql 部门最高工资+2000,mysql,sql,database,Mysql,Sql,Database,我有两张桌子,员工和部门 表中的员工列 舞虻 名称 薪水 位置 表部门列 部门编号 部门名称 舞虻 马格里德 现在我想找到部门方面的最高工资,然后增加2000英镑。ed:哈,我没想到你实际上是想更新行,我想你只是想检索值@Ajith Sasidharan的答案更全面 您的部门表引用employee表而不是反过来引用employee表,这似乎有些奇怪,但是这应该满足您的需要: SELECT d.deptno, d.deptname, max(e.salary+2000) FROM

我有两张桌子,员工和部门

表中的员工列 舞虻 名称 薪水 位置

表部门列 部门编号 部门名称 舞虻 马格里德


现在我想找到部门方面的最高工资,然后增加2000英镑。ed:哈,我没想到你实际上是想更新行,我想你只是想检索值@Ajith Sasidharan的答案更全面

您的部门表引用employee表而不是反过来引用employee表,这似乎有些奇怪,但是这应该满足您的需要:

SELECT
  d.deptno, 
  d.deptname, 
  max(e.salary+2000)
FROM
  department d
INNER JOIN
  employee e
ON 
  e.empid = d.empid
GROUP BY 
  d.deptno, d.deptname;
选择e.name、e.salary、d.name作为部门 从员工e加入e.dept=d.id上的d部门 e.salary,e.dept在哪里 选择maxsalary,部门 从employee.dept=dept.id上的employee join dept 按员工部门分组 ;
包括代码在内的答案应该至少有一个详细的描述,说明代码是如何工作的,以及它为什么回答问题。
update emp
set sal = sal + 2000
where empid in (
select empid from dept where (deptno,sal) in (
select d.deptno,max(e.sal)
    from emp e,
    dept d
    where e.empid = d.empid
    group by deptno));