-假设有如下三个关系模式: 商品表:P(PNO,PNAME,CITY,COLOR) 各属性含义依次为商品号、商品名、产地和商品颜色;主键为商品号。 商场表:M(MNO,MNAME,CTY 各属性含义依次为商场号、商场名和商场所在城市:主键为商场号。 销售表:S(MNO,PNO,QTY) 各属性含义依次为商场号、商品号和销售数量。主键为(商场号,商品号) 用SQL 语句写出下列查询 (1)检索产地为 ‘浙江省‘的商品信息。 (2)检索上海市所有商场中各种商品的平均销售量。 (3)检索销售了蓝色商品的商场号、商品号和数量(列表)。(要求用嵌套子查询完成) (4)检索每个商场销售的红色商品的,总数量。 5)创建一个存储过程,该存储过程能够根据指定的商场名称,查询该商场对应的销售业绩(统计指定商场的累计销售数量),并编写存储过程调用该存储过程查询商场名称为“虹桥机场店”的销售业绩。要求:存储过程名称为:Proc_ GetSumQty,需要查询的商场名称 通过参数@mname 输入,如果未找到该商场信息,显示:“未找到您要查询的商场信息” 否则显示:“xxXXX 商场的总销售数量为:xxxx”
时间: 2024-03-26 18:35:30 浏览: 475
1. 检索产地为‘浙江省’的商品信息。
```sql
SELECT *
FROM P
WHERE CITY = '浙江省';
```
2. 检索上海市所有商场中各种商品的平均销售量。
```sql
SELECT P.PNAME, AVG(S.QTY)
FROM P
INNER JOIN S ON P.PNO = S.PNO
INNER JOIN M ON S.MNO = M.MNO
WHERE M.CTY = '上海'
GROUP BY P.PNAME;
```
3. 检索销售了蓝色商品的商场号、商品号和数量(列表)。(要求用嵌套子查询完成)
```sql
SELECT S.MNO, S.PNO, S.QTY
FROM S
WHERE S.PNO IN (
SELECT PNO
FROM P
WHERE COLOR = '蓝色'
);
```
4. 检索每个商场销售的红色商品的,总数量。
```sql
SELECT M.MNO, SUM(S.QTY)
FROM P
INNER JOIN S ON P.PNO = S.PNO
INNER JOIN M ON S.MNO = M.MNO
WHERE P.COLOR = '红色'
GROUP BY M.MNO;
```
5. 创建一个存储过程,该存储过程能够根据指定的商场名称,查询该商场对应的销售业绩(统计指定商场的累计销售数量),并编写存储过程调用该存储过程查询商场名称为“虹桥机场店”的销售业绩。要求:存储过程名称为:Proc_GetSumQty,需要查询的商场名称 通过参数@mname 输入,如果未找到该商场信息,显示:“未找到您要查询的商场信息” 否则显示:“xxXXX 商场的总销售数量为:xxxx”
```sql
CREATE PROCEDURE Proc_GetSumQty
@mname VARCHAR(20)
AS
BEGIN
DECLARE @mno INT
SELECT @mno = MNO FROM M WHERE MNAME = @mname
IF (@mno IS NULL)
BEGIN
PRINT '未找到您要查询的商场信息'
END
ELSE
BEGIN
SELECT SUM(QTY) AS '总销售数量'
FROM S
WHERE MNO = @mno;
END
END
-- 调用存储过程
EXEC Proc_GetSumQty '虹桥机场店';
```
阅读全文