第(36)~(40)使用如下关系: 客户(客户号,名称,联系人,邮政编码,电话号码) 产品(产品号,名称,规格说明,单价) 订购单(订单号,客户号,订购日期) 订购单名细(订单号,序号,产品号,数量) 查询订购单的数量和所有订购单平均金额的正确命令是(

admin2015-12-09  58

问题 第(36)~(40)使用如下关系:
客户(客户号,名称,联系人,邮政编码,电话号码)
产品(产品号,名称,规格说明,单价)
订购单(订单号,客户号,订购日期)
订购单名细(订单号,序号,产品号,数量)
查询订购单的数量和所有订购单平均金额的正确命令是(    )。

选项 A、SELECT COUNT(DISTINCT订单号),AVG(数量*单价);FROM产品JOIN订购单名细ON产品.产品号=订购单名细.产品号
B、SELECT COUNT(订单号),AVG(数量*单价);FROM产品JOIN订购单名细ON产品.产品号=订购单名细.产品号
C、SELECT COUNT(DISTINCT订单号),AVG(数量*单价):FROM产品,订购单名细ON产品.产品号=订购单名细.产品号
D、SELECT COUNT(订单号),AVG(数量*单价);FROM产品.订购单名细ON产品.产品号=订购单名细.产品号

答案A

解析 vfp中内联接查询的语法是:
SELECT…
FROM<数据库表1>INNER JOIN<数据库表2>
ON<连接条件>
WHERE…
其中,INNER JOIN等价于JOIN,为普通的联接,在Visual FoxPro中称为内部联接;ON<连接条件>指定两个进行表联接的条件字段。
注意:联接类型在FROM子句中给出,并不是在WHERE子句中,联接条件在ON子旬中给出。
COUNTO和AVG()都是SQr,中用于计算的检索函数,其中COUNT用来计算记录个数,通常应该使用DISTINCT去除重复值,除非对关系中的元组个数进行计算。这个题目中要求订购单的数量,显然应该对订单号计数,但订购单明细表中的订单号是有重复的(因为一份订单上可能有多种产品),因此应该在CO[YNT()中使用DISTINCT。AVG函数是用来计算平均值的。产品金额=数量*单价。
转载请注明原文地址:https://kaotiyun.com/show/Vvbp777K
0

最新回复(0)