资源描述:
《数据库-实验四-数据更新与视图》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验四数据更新与视图北京师范大学珠海分校信息技术学院12计算机1班一、数据更新使用相应SQL语句,完成如下操作:(1)根据订单信息更新order表中的payment(订单总金额)字段的值。update"order"set"order".payment=a.totalfrom(selectorderid,sum(price*quantity)astotalfrombook,orderbookwherebookid=bidgroupbyorderid)awhere"order".oid=a.orderidselecto
2、id,paymentfrom"order"(2)新建图书订购情况统计表bookstas(包含图书编号、图书名称、图书类别、图书价格和订购册数,数据类型自定),并根据数据库的订单情况将社科类图书的订购情况插入表中。图书订购情况统计表bookstas表bsidbtitlebcategorybpriceordersell图书编号图书名称图书类别图书价格订购册数intvarchar(50)intfloatintPrimarykeycreatetablebookstas(bsidintprimarykey,btitlevar
3、char(50),bcategoryint,bpricefloat,ordersellint);insertintobookstas(bsid,btitle,bcategory,bprice,ordersell)selectbid,title,category,price,sum(quantity)fromorderbook,bookwherecategory='2'andbookid=bidgroupbybid,title,category,price;selectbookstas.*frombookstas;(
4、1)新建用户订购统计表userstas(包含用户编号、用户名、订单数量、总金额,数据类型自定),并根据数据库的订单情况将活跃用户(正常使用、锁定)的情况插入表中。uidunameordernumpricesum用户编号用户名订单数量总金额intvarchar(20)intfloatPrimarykeycreatetableuserstas(uidintprimarykey,unamevarchar(20)notnull,ordernumint,pricesumfloat,);insertintouserstas(u
5、id,uname,ordernum,pricesum)selectdistinctuid,name,count("user"),sum(payment)from"order","user",userstatewhere(usid=1orusid=2)and"user".state=usidand"user".uid="order"."user"groupbyuid,name;selectuserstas.*fromuserstas;(1)给用户表增加一字段level(等级),初始值为0,根据各用户订单总金额来给予评
6、级(1:100~200元,2:200~300元,3:300元以上)。ALTERTABLE"user"ADDlevelintdefault0;update"user"setlevel=(select(casewhenpricesum>100andpricesum<=200then1whenpricesum>200andpricesum<=300then2whenpricesum>300then3end)levelfromuserstaswhere"user".uid=userstas.uid)select"user"
7、.*from"user";(1)用户102通过提交了一订单购买1001号图书1本,请问如何在数据库中完成上述操作?(假设订单号编号连续,要求完成订单信息、库存更新、订单总额及用户等级信息)。insert"order"values('2014008','102','4','0','2014-01-1013:50:33');insertorderbookvalues('2014008','1001','1');update"order"setpayment=sumTotalfrom"order"a,(selectord
8、erid,sum(quantity*price)sumTotalfrombook,orderbookwherebookid=bidgroupbyorderid)bwherea.oid=b.orderidselect"order".*from"order"updatebooksetstock=sumstockfrombooka,(selectbid,title