sql语句,求解答,

img


CREATE TABLE `employee` (
  `Eid` varchar(10),   --职工编号
  `EName` varchar(30), --职工姓名
  `Wno` varchar(10),   --所在仓库
  `Salary` int(11)     --职工工资
);
CREATE TABLE `orders` (
  `OrdNo` int(11),   --订单编号
  `Sid` varchar(10), --供应商编号
  `Eid` varchar(10), --职工编号
  `Pid` varchar(20), --商品编号
  `Price` decimal(10,2), --价格
  `QTY` int(11),     --订购数量
  `ordDate` date    --订单日期
);

表样例
employee表:

Eid EName Wno Salary
0010 张三 A01 3600
0011 刘勇 A01 2700
0012 张立 A01 8500
0021 刘靖 A02 2500
0022 王强 A02 5600
0023 李军 5000
0031 王林 3500
orders表:

OrdNo Sid Eid Pid Price QTY ordDate
1 S01 0011 P01 11 23 2022-02-13
2 S02 0012 P01 12 25 2022-02-14
3 S03 0012 P03 60 55 2022-02-14
输出样例:
Eid EName Wno Salary
0010 张三 A01 3600
0011 刘勇 A01 2700
0012 张立 A01 9500
0021 刘靖 A02 2500
0022 王强 A02 5600
0023 李军 5000
0031 王林 3500

update employee
set Salary=Salary+1000
where Eid=(
    select Eid,max(Salary)
    from orders
)

img

可以参考这一篇:
https://blog.csdn.net/qq_62481202/article/details/124768452

update employee
set Salary=Salary+1000
where  Eid in (select Eid from orders group by Eid 
 having(count(*)=(select count(*) from
 orders group by Eid order by count(*) desc limit 1)));