问题 单项选择题

使用如下数据表:

客户(客户号,名称,联系人,地址,电话号码)

产品(产品号,名称,规模说明,单价)

订购单(订单号,客户号,产品号,数量,订购日期)

查询订购单的数量和所有订购单平均金额,正确命令是().

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

解析:

这是一个连接查询,要用到JOIN ON语句,同时要用汇总函数和平均数函数。SQL不仅具有一般的检索能力,而且还有计算方式的检索。用于计算检索的函数有:COUNT(计数)、SUM(求和)、AVG(计算平均值)、MAX(求最大值)、MIN(求最小值)。查询订购单的数量,只要统计“订购单”表中的“订单号”的个数,所以计数应使用COUNT函数,使用DISTINCT关键字去掉重复值,故选项B、D均不正确。计算所有订购单的平均金额,可以通过AVG(单价 * 数量),“单价”字段在“产品”表中,“数量”字段在“订购单”表中,所以必须指明两个表的连接字段,两个表通过“产品号”公共字段进行连接,在指定连接字段时可以用WHERE指定连接条件也可以用超连接关键字JOIN表示普通连接,即只有满足连接条件的记录才出现在查询结果中,JOIN后面用ON子句指定连接条件,所以选项C不正确,正确的答案是选项A)。

单项选择题
填空题