产品销售系统
目录
练习1: ............................................. 1 1.使用SQL语言建立课本P50第4题的4张表。 ........ 1 2. 打开产品销售管理数据库,并完成下列各题: ....... 2 练习2: ............................................. 3 1. 打开产品销售管理数据库,并完成下列各题: ....... 3 2. 打开产品销售管理数据库,并完成下列各题: ....... 3 3. 打开产品销售管理数据库,并完成下列各题: ....... 4 4. 打开产品销售管理数据库,并完成下列各题: ....... 4 练习3: ............................................. 6 1. 打开产品销售管理数据库,并完成下列各题: ....... 6 2. 打开产品销售管理数据库,并完成下列各题: ....... 6 练习4: ............................................. 8 1. 打开产品销售管理数据库,并完成下列各题: ....... 8 2. 打开产品销售管理数据库,并完成下列各题: ....... 9 3. 打开产品销售管理数据库,并完成下列各题: ...... 10
练习1:
1.使用SQL语言建立课本P50第4题的4张表。
建立各表的结构(注意创建外键,只需提交这部分代码)
CREATE TABLE Customers ( )
CREATE TABLE Agents ( )
CREATE TABLE Products ( )
CREATE TABLE Orders ( )
Ord_on CHAR(4) PRIMARY KEY, Month INT, Cid CHAR(4), Aid CHAR(3), Pid CHAR(3), Qty INT,
Amount DECIMAL(5,2),
FOREIGN KEY(Cid) REFERENCES Customers(Cid), FOREIGN KEY(Aid) REFERENCES Agents(Aid), FOREIGN KEY(Pid) REFERENCES Products(Pid), Pid CHAR(3) PRIMARY KEY, Pname CHAR(8), Quantity INT, Price DECIMAL(3,2) Aid CHAR(3) PRIMARY KEY, Aname CHAR(8), City CHAR(10)
Cid CHAR(4) PRIMARY KEY, Cname CHAR(8), City CHAR(10)
1
2. 打开产品销售管理数据库,并完成下列各题:
(1).查询北京的代理人姓名。
SELECT Aname 姓名 FROM Agents WHERE City='北京'
(2).查询客户C006订单信息。
SELECT * FROM Orders WHERE Cid='C006'
(3).查询订货数量在500~800的订单情况。
SELECT * FROM Orders
WHERE Qty>=500 AND Qty<=800
2
练习2:
1. 打开产品销售管理数据库,并完成下列各题:
(1).查询所有订购产品P01的客户名。
SELECT DISTINCT Cname 客户名 FROM Customers,Orders WHERE Customers.Cid=Orders.Cid AND Pid='P01'
(2).查询订购了产品价格为0.5元且订购数量在500以上的客户名。
SELECT DISTINCT Cname 客户名 FROM Products,Customers,Orders
WHERE Products.Pid=Orders.Pid AND Customers.Cid=Orders.Cid AND Qty>'500' AND Price='0.5'
(2).查询代理人是“深圳”且订货数量小于1000的订单信息。
SELECT * FROM Orders,Agents
WHERE Agents.Aid=Orders.Aid AND City='深圳' AND Qty<'1000'
(4).查询南京的客户通过北京的代理订购的所有产品。
SELECT Pname 产品 FROM Products,Orders,Agents,Customers
WHERE Customers.Cid=Orders.Cid AND Agents.Aid=Orders.Aid AND Products.Pid=Orders.Pid AND Customers.City='南京' AND Agents.City='北京'
2. 打开产品销售管理数据库,并完成下列各题:
(1).查询姓“张”的代理人姓名和其所在城市。
SELECT Aname 姓名,City 城市 FROM Agents WHERE Aname LIKE '[张]%'
(2).查询产品中含有“水”字的产品名称和单价。
SELECT Pname 名称,Price 单价 FROM Products WHERE Pname LIKE '%[水]%'
3
3. 打开产品销售管理数据库,并完成下列各题:
(1).查询每个月的订单数、总订货数量及总金额,显示月份、订单数、总订货量、总金额,并按总金额降序排列。
SELECT Month 月份,COUNT(Ord_no) 订单数,SUM(Qty) 总订货量,SUM(Amount) 总金额 FROM Orders
GROUP BY Orders.Month ORDER BY 总金额 DESC
(2).查询每个客户的客户名、订单数,并按订单数降序排列。
SELECT Cname 客户名,COUNT(Ord_no) 订单数 FROM Orders,Customers
WHERE Orders.Cid=Customers.Cid GROUP BY Customers.Cname ORDER BY 订单数 DESC
(3).查询超过一个客户的城市名称和客户人数。
SELECT City 城市名,COUNT(Cid) 人数 FROM Customers GROUP BY Customers.City HAVING COUNT(Cid)>1
(4).查询姓王且名字为两个字的客户在1月份的订单情况,按订货数量降序排列。
SELECT * FROM Customers,Orders
WHERE Cname LIKE '[王]%' AND LEN(Cname)=2 AND Month='1' AND Customers.Cid=Orders.Cid ORDER BY Qty DESC
4. 打开产品销售管理数据库,并完成下列各题:
(1).查询没有订购P02产品的客户号和客户名。(子查询)
SELECT Cid 客户号,Cname 客户名 FROM Customers
WHERE Cid NOT IN (SELECT Cid FROM Orders WHERE Pid='P02')
4