当前位置:首页 > 实验七视图及SQL数据更新语句
实验七视图及SQL数据更新语句
一、 实验目的
1. 掌握视图的概念;
2. 熟练掌握视图的生成及操作语句; 3. 熟练掌握SQL数据更新语句;
二、实验步骤
构建数据表作为实验数据内容(数据表同实验六,参考实验六实验步骤)
运行SQL SERVER服务管理器,确认数据库服务器开始运行。
打开查询分析器,选择刚才恢复的数据库exampleDB,输入SQL指令,获得运行结果。 任务:完成以下SQL数据更新语句 (1) 创建视图V_SupplyCount,显示供应商编号,以及该供应商供应的产品的品种数
(非CategoryID),该视图包含两个字段:SupplierID、ProductCount。
(2) 创建视图V_OrderCount,显示顾客编号,顾客所下订单的产品总金额(金额=单
价×数量×折扣),该视图包含两个字段:CustomerID,TotalFee。
(3) 通过视图V_SupplyCount,查出供应产品的品种数最少的供应商编号和供应商
名称。
(4) 通过视图V_OrderCount,查出所下订单的产品总金额最多的顾客编号和地址。 (5) 再Region表中,添加一个新的地区:地区编号为5,地区描述为Central (6) 将Suppliers表中的所有国家为法国的供应商信息内容添加到OldSuppliers中 (7) 将所有由职员Fuller(LastName)签订的订单运费降低10% (8) 将所有美国顾客购买的订单单价调高20% (9) 将订货数量最多的产品的单价上调5元 (10) 删除订单个数最少的职员的信息 (11) 删除所有没有下订单的顾客信息
三. 实验结果与分析(上交实验报告)
? 创建视图V_SupplyCount,显示供应商编号,以及该供应商供应的产品的品种数(非
CategoryID),该视图包含两个字段:SupplierID、ProductCount。 create view V_SupplyCount(SupplierID,ProductCount)
as select SupplierID,count(ProductID) from products group by SupplierID
? 创建视图V_OrderCount,显示顾客编号,顾客所下订单的产品总金额(金额=单价
×数量×折扣),该视图包含两个字段:CustomerID,TotalFee。 create view V_OrderCount(CustomerID,TotalFee) as
select CustomerID,sum(UnitPrice*Quantity*Discount) from orders,orderdetails where orders.OrderID=orderdetails.OrderID group by CustomerID
? 通过视图V_SupplyCount,查出供应产品的品种数最少的供应商编号和供应商名
称。
select SupplierID,CompanyName from Suppliers where SupplierID in
(select SupplierID from V_SupplyCount
where ProductCount=(select min(ProductCount) from V_SupplyCount))
? 通过视图V_OrderCount,查出所下订单的产品总金额最多的顾客编号和地址。 select CustomerID,Address from Customers where CustomerID in (select CustomerID from V_OrderCount
where TotalFee=(select max(TotalFee) from V_OrderCount))
? 再Region表中,添加一个新的地区:地区编号为5,地区描述为Central insert into Region values(5,'Central')
? 将Suppliers表中的所有国家为法国的供应商信息内容添加到OldSuppliers中 CREATE TABLE OldSuppliers(
SupplierID int NOT NULL primary key, CompanyName varchar(50) , ContactName varchar(50) , ContactTitle varchar(50) , Address varchar(60) , City varchar(50) , Region varchar(50) , PostalCode varchar(50) , Country varchar(50) , Phone varchar(50) , Fax varchar(50) ,
HomePage varchar(50) )
insert into OldSuppliers
select * from Suppliers where Country='France'
共分享92篇相关文档