以下五个题使用如下关系: 客户(客户号,名称,联系人,邮政编码,电话号码) 产品(产品号,名称,规格说明,单价) 订购单(订单号,客户号,订购日期) 订购单名细(订单号,序号,产品号,数量) 查询订购单的数量和所有

admin2013-05-15  56

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

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

最新回复(0)