本题目要求编写SQL语句, 给所有产品名中含’螺母’的订单的数量增加40%。 表结构: 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 `product` ( `Pid` varchar(20), --商品编号 `PName` varchar(50), --商品名称 `Weight` decimal(10, 3) --重量 ); 表样例 orders表: OrdNo Sid Eid Pid Price QTY ordDate 1 S01 0011 P01 11 23 2022-02-13 2 S02 0012 P03 12 25 2022-02-14 3 S03 0012 P05 60 50 2022-02-14 product表: Pid PName Weight P01 M6螺栓 30 P02 M8螺栓 40 P03 M16螺栓 140 P04 螺帽 30 P05 螺母 45 P06 垫片 10 P07 铰链 70 输出样例: orders表: OrdNo Sid Eid Pid Price QTY ordDate 1 S01 0011 P01 11 23 2022-02-13 2 S02 0012 P03 12 25 2022-02-14 3 S03 0012 P05 60 70 2022-02-14
时间: 2023-07-13 13:22:06 浏览: 232
以下是SQL语句,可以实现您的需求:
```
UPDATE orders
SET QTY = QTY * 1.4
WHERE Pid IN (SELECT Pid FROM product WHERE PName LIKE '%螺母%');
```
这条SQL语句将会更新`orders`表中所有`Pid`符合“包含螺母”的条件的记录的`QTY`字段值增加40%。
请注意,这条SQL语句只适用于MySQL数据库。如果您使用的是其他类型的数据库,语法可能会稍有不同。
相关问题
本题目要求编写SQL语句, 查询所有产品名包含’螺母’的订单信息。 提示:请使用SELECT语句作答。 表结构: 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 `product` ( `Pid` varchar(20), --商品编号 `PName` varchar(50), --商品名称 `Weight` decimal(10, 3) --重量 );
假产品信息表的表名为product,可以使用以下SQL语句查询所有产品名包含’螺母’的订单信息:
```
SELECT *
FROM orders
WHERE Pid IN (
SELECT Pid
FROM product
WHERE PName LIKE '%螺母%'
);
```
其中,子查询 `SELECT Pid FROM product WHERE PName LIKE '%螺母%'` 用于查找所有产品名包含’螺母’的产品编号,外层查询使用 `IN` 子句将符合条件的订单信息筛选出来。
本题目要求编写SQL语句, 删除没有销售过的产品。 表结构: CREATE TABLE `product` ( `Pid` varchar(20), --商品编号 `PName` varchar(50), --商品名称 `Weight` decimal(10, 3) --重量 ); CREATE TABLE `orders` ( `OrdNo` int(11), --订单编号 `Sid` varchar(10), --供应商编号 `Eid` varchar(10), --职工编号 `Pid` varchar(20), --商品编号 `Price` decimal(10,2), --价格 `QTY` int(11), --订购数量 `ordDate` date --订单日期 ); 表样例 product表: Pid PName Weight P01 M6螺栓 30 P02 M8螺栓 40 P03 M16螺栓 140 P04 螺帽 30 P05 螺母 45 P06 垫片 10 P07 铰链 70 orders表: OrdNo Sid Eid Pid Price QTY ordDate 1 S01 0011 P01 11 23 2022-02-13 2 S02 0012 P05 12 25 2022-02-14 3 S03 0012 P03 60 55 2022-02-14 输出样例: Pid PName Weight P01 M6螺栓 30 P03 M16螺栓 140 P05 螺母 45
以下是SQL语句,可以实现您的需求:
```
DELETE FROM product
WHERE Pid NOT IN (SELECT DISTINCT Pid FROM orders);
```
这条SQL语句将会删除`product`表中所有没有在`orders`表中出现过的`Pid`记录。
请注意,这条SQL语句只适用于MySQL数据库。如果您使用的是其他类型的数据库,语法可能会稍有不同。另外,为了避免意外删除,建议在执行此类删除操作之前先备份数据。
阅读全文