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

admin2014-11-29  47

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

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

最新回复(0)