R10-14 给’北京’供应商的订单,单价下调5% 分数 5 简单 作者 浙大城院数据库课程组 单位 浙大城市学院 本题目要求编写SQL语句, 给’北京’供应商的订单,单价下调5%。 表结构: CREATE TABLE `orders` ( `OrdNo` int(11), --订单编号 `Sid` varchar(10), --供应商编号 `Eid` varchar(10), --职工编号 `Pid` varchar(20), --商品编号 `Price` decimal(10,2), --价格 `QTY` int(11), --订购数量 `ordDate` date --订单日期 ); CREATE TABLE `supplier` ( `Sid` varchar(10), --供应商编号 `SName` varchar(50), --供应商名称 `City` varchar(20) --供应商地址 ); 表样例 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 supplier表: Sid SName City S01 东风机械厂 北京 S02 天鹰紧固件厂 温州 S03 长城机电 杭州 输出样例: OrdNo Sid Eid Pid Price QTY ordDate 1 S01 0011 P01 10.45 23 2022-02-13 2 S02 0012 P01 12 25 2022-02-14 3 S03 0012 P03 60 55 2022-02-14 代码长度限制 16 KB 时间限制 400 ms 数据库 MySQL 结果输出要求 严格对比顺序与数据
时间: 2025-06-26 22:12:41 浏览: 15
### 更新SQL语句以调整来自‘北京’供应商的订单单价
为了实现对‘北京’供应商的所有订单单价下调5%,可以使用`UPDATE`语句结合子查询来定位符合条件的数据。假设`orders`表中有字段`supplier_id`用于关联到`supplier`表中的供应商ID,而`price`字段表示订单单价,则可以通过以下方式构建SQL语句:
#### SQL语句
```sql
UPDATE orders
SET price = price * 0.95
WHERE supplier_id IN (
SELECT supplier_id
FROM supplier
WHERE supcity = '北京'
);
```
上述语句的功能如下:
- `UPDATE orders`: 表明要更新的是`orders`表。
- `SET price = price * 0.95`: 将订单的价格乘以0.95,即减少5%[^1]。
- `WHERE supplier_id IN (...)`: 使用子查询筛选出属于‘北京’地区的供应商对应的订单。
#### 子查询解释
子查询部分`SELECT supplier_id FROM supplier WHERE supcity = '北京'`的作用是从`supplier`表中找到所有位于‘北京’的供应商,并返回它们的唯一标识符(`supplier_id`)。这些标识符随后被用来匹配`orders`表中的相关记录[^2]。
如果存在其他条件或者表之间的关系更为复杂,请进一步确认并补充相应的约束条件。
---
### 验证价格变化后的统计信息
在执行完更新操作之后,可能还需要验证修改的结果是否正确。例如,可以重新计算涉及‘北京’供应商的相关订单统计数据。以下是示例查询语句:
#### 统计受影响订单的数量和总金额变化
```sql
SELECT COUNT(*) AS affected_orders, SUM(price_before_update - price_after_update) AS total_price_reduction
FROM (
SELECT o.price AS price_before_update, (o.price * 0.95) AS price_after_update
FROM orders o
INNER JOIN supplier s ON o.supplier_id = s.supplier_id
WHERE s.supcity = '北京'
) subquery;
```
此嵌套查询会展示受此次降价影响的订单总数以及总的降价幅度。
---
### 注意事项
确保在实际生产环境中运行此类批量更新之前先备份数据或测试其效果。此外,还需注意事务管理机制的应用以防中途失败造成不一致状态[^3]。
阅读全文
相关推荐

















