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

admin2016-09-30  29

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

选项 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(~T单号),AVG(数量*单价);FROM产品,订购单名细ON产品.产品号=订购单名细.产品号

答案A

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

最新回复(0)