有三个表,分别为:商品(商品编号,商品名称,单价,生产商),仓库(仓库编号,仓库地址,电话,容量),库存(仓库编号,商品编号,库存数量)。 用SQL语句写出下列查询: (1)查询不是青岛生产的商品的信息。 (2)查询每个仓库“四川长虹”生产的商品的库存总量,并按降序排序。 (3)查询各生产厂家的商品库存总量,并存入”库存总量”表。 (4)删除“四川长虹”生产的商品的库存信息。
时间: 2024-03-09 10:48:36 浏览: 38
(1)查询不是青岛生产的商品的信息。
```sql
SELECT *
FROM 商品
WHERE 生产商 <> '青岛';
```
(2)查询每个仓库“四川长虹”生产的商品的库存总量,并按降序排序。
```sql
SELECT 仓库编号, SUM(库存数量) AS 库存总量
FROM 库存
WHERE 商品编号 IN (SELECT 商品编号 FROM 商品 WHERE 生产商 = '四川长虹')
GROUP BY 仓库编号
ORDER BY 库存总量 DESC;
```
(3)查询各生产厂家的商品库存总量,并存入”库存总量”表。
```sql
INSERT INTO 库存总量 (生产商, 库存总量)
SELECT 生产商, SUM(库存数量)
FROM 商品 INNER JOIN 库存 ON 商品.商品编号 = 库存.商品编号
GROUP BY 生产商;
```
(4)删除“四川长虹”生产的商品的库存信息。
```sql
DELETE FROM 库存
WHERE 商品编号 IN (SELECT 商品编号 FROM 商品 WHERE 生产商 = '四川长虹');
```
相关问题
创建 product数据表 有ID 商品编号 商品名称 商品种类ID 单价 库存量
好的,针对你的问题,我可以给你提供创建 product 数据表的 SQL 语句,如下所示:
```sql
CREATE TABLE product (
ID INT PRIMARY KEY AUTO_INCREMENT,
product_code VARCHAR(50),
product_name VARCHAR(100),
category_id INT,
price DECIMAL(10, 2),
stock INT
);
```
解释一下上述 SQL 语句的含义:
- 创建了一个名为 `product` 的数据表;
- `ID` 列为主键,类型为 `INT`,并且设置了自动增长;
- `product_code` 列为商品编号,类型为 `VARCHAR(50)`,即最大长度为 50 的字符串类型;
- `product_name` 列为商品名称,类型为 `VARCHAR(100)`,即最大长度为 100 的字符串类型;
- `category_id` 列为商品种类编号,类型为 `INT`;
- `price` 列为单价,类型为 `DECIMAL(10, 2)`,即最多包含 10 位数字,其中 2 位为小数;
- `stock` 列为库存量,类型为 `INT`。
希望这个回答对你有所帮助!
创建produc数据t表含有 ID 商品编号 商品名称 商品种类ID 单价 库存量
好的,下面是创建 product 数据表的 SQL 语句,包含 ID、商品编号、商品名称、商品种类ID、单价和库存量列:
```sql
CREATE TABLE product (
ID INT PRIMARY KEY,
product_number VARCHAR(50) NOT NULL,
product_name VARCHAR(100) NOT NULL,
category_id INT NOT NULL,
price DECIMAL(10,2) NOT NULL,
stock INT NOT NULL
);
```
解释一下上述 SQL 语句的含义:
- 创建了一个名为 `product` 的数据表;
- `ID` 列为主键,类型为 `INT`;
- `product_number` 列为商品编号,类型为 `VARCHAR(50)`,不允许为空;
- `product_name` 列为商品名称,类型为 `VARCHAR(100)`,不允许为空;
- `category_id` 列为商品种类编号,类型为 `INT`,不允许为空;
- `price` 列为单价,类型为 `DECIMAL(10,2)`,即最多包含 10 位数字,其中 2 位为小数,不允许为空;
- `stock` 列为库存量,类型为 `INT`,不允许为空。
希望这个回答对你有所帮助!