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)));
分数 10
全屏浏览题目
切换布局
作者 浙大城院数据库课程组
单位 浙大城市学院
本题目要求编写SQL语句,
给订单量最多的员工,加薪1000元。
表结构:
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 |