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

admin2021-02-03  62

问题 阅读下列说明,回答问题,将解答填入答题纸的对应栏内。
【说明】
某订单管理系统的部分数据库关系模式如下:
客户:CUSTOMERS(Cno,Cname,Cage,Csex),各属性分别表示客户编号、客户姓名、年龄和性别;
商品:GOODS(Gno,Gname,Gprice,Gorigin),各属性分别表示商品编号、商品名称、单价和产地;
订单:ORDERS(Ono,Cno,Gno,Opfice,Onumber),各属性分别表示订单编号、客户编号、商品编号、顾客购买商品的单价和数量。
有关关系模式的说明如下:
(1)下画线标出的属性是表的主键。
(2)商品表中的Gpfice是商品的当前价格,可能会发生变动;订单表中的Opfice是订单成交时的商品单价。
(3)一个订单只包含一位顾客购买的一种商品:其商品数量至少1件,最多99件。根据以上描述,回答下列问题,将SQL语句的空缺部分补充完整。
查询所有订单的详细情况,要求输出订单号(Ono)、客户姓名(Cname)、商品名称(Gname)、单价(Opnce)、数量(Onumber)和金额(Oamount),查询结果按照金额从大到小排列。此功能由下面的SQL语句实现,请补全。
SELECT Ono, Cname,Gname, Oprice, Onumber,___(d)_____ AS Oamount
FROM CUSTOMERS,ORDERS,GOODS
WHERE___(e)_____
AND___(f)_____
___(g)_____BY____(h)____;

选项

答案(d)Oprice* Onumber (e)ORDERS.Cno=CUSTOMERS.Cno (f)ORDERS.Gno=G00DS.Gno 注:(e)和(f)的答案可以互换 (g)ORDER (h)Oamount DESC或者6DESC

解析 本问题考查SQL的多表查询及排序。
题目要求查询所有订单的详细情况,输出订单号、客户姓名、商品名称、单价、数量和金额,这需要连接CUSTOMERS、ORDERS和GOODS三个表进行查询,连接属性分别为Cno和Gno。每笔订单的金额是由该笔订单所购买商品的单价和数量相乘得到的。
题目还要求查询结果按照金额从大到小排列,这需要用ORDER BY子句进行降序排序,排序属性为输出属性“金额”,用属性名Oamount或列序号6皆可。
完整的查询语句如下:
SELECT Ono,Cname,Gname,Oprice,Onumber,Oprice* Onumber AS Oamount
FROM CUSTOMERS,ORDERS,GOODS
WHERE ORDERS.Cno=CUSTOMERS.Cno
AND ORDERS.Gno=GOODS.Gno
ORDER BY Oamount DESC;
转载请注明原文地址:https://jikaoti.com/ti/SJoiFFFM
0

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