阅读下列说明,回答问题,将解答填入答题纸的对应栏内。 【说明】 某订单管理系统的部分数据库关系模式如下: 客户:CUSTOMERS(Cno,Cname,Cage,Csex),各属性分别表示客户编号、客户姓名、年龄和性别; 商品:GOODS(Gno,Gnam

admin2021-02-03  54

问题 阅读下列说明,回答问题,将解答填入答题纸的对应栏内。
【说明】
某订单管理系统的部分数据库关系模式如下:
客户:CUSTOMERS(Cno,Cname,Cage,Csex),各属性分别表示客户编号、客户姓名、年龄和性别;
商品:GOODS(Gno,Gname,Gprice,Gorigin),各属性分别表示商品编号、商品名称、单价和产地;
订单:ORDERS(Ono,Cno,Gno,Opfice,Onumber),各属性分别表示订单编号、客户编号、商品编号、顾客购买商品的单价和数量。
有关关系模式的说明如下:
(1)下画线标出的属性是表的主键。
(2)商品表中的Gpfice是商品的当前价格,可能会发生变动;订单表中的Opfice是订单成交时的商品单价。
(3)一个订单只包含一位顾客购买的一种商品:其商品数量至少1件,最多99件。根据以上描述,回答下列问题,将SQL语句的空缺部分补充完整。
创建已售商品信息视图,给出已售商品的编号(Gno)、名称(Gname)、订单个数(Onum)及平均每单的商品数量(GAnum)。此视图的创建语句如下,请补全。
CREATE___(i)_____GOODS SOLD AS
SELECT ORDERS.Gno AS Gno,MIN(GOODS.Gname)AS Gname,
___(j)_____AS Onum,___(k)_____  AS GAnum
FROM ORDERS,GOODS
WHERE 0RDERS.Gno=G00DS.Gno
____(1)____BY___(m)_____;

选项

答案(i)VIEW (j)COUNT(*)或者COUNT(Ono)或者COUNT(l) (k)AVG(Onumber) (l)GROUP (m)ORDERS.Gno

解析 本问题考查SQL创建视图及分组统计查询。
题目要求创建已售商品信息的视图,其属性有已售商品的编号(Gno)、名称(Gname)、订单个数(Onum)及平均每单的商品数量(GAnum)。创建视图用CREATE VIEW语句。已售商品可以从订单表ORDERS中查询到。使用GROUP BY子句在表ORDERS中按Gno分组统计,可以得到每种商品相应的订单个数,以及此商品在这些订单中的平均数量。这里为了输出Gnamc,需要进行ORDERS和GOODS的连接;Gname不能直接输出,因为它不是分组属性,但由于在同一分组里Gname的值相同,因此可以对其作用聚集函数MIN或MAX后输出。因此完整创建视图GOODS SOLD的SQL语句如下:
CREATE VIEW GOODS_SOLD AS
SELECT ORDERS.Gno AS Gno,MIN(GOODS.Gname)AS Gname,
COUNT(*)AS Onum,AVG(Onumber)AS GAnum
FROM ORDERS,GOODS
WHERE ORDERS.Gno=GOODS.Gno
GROUP BY ORDERS.Gno;
转载请注明原文地址:https://jikaoti.com/ti/xJoiFFFM
0

相关试题推荐
最新回复(0)