Access数据库程序设计

单选题设有一个商店的数据库,记录客户及其购物情况,由三个关系组成:商品(商品号,商品名,单价,商品类别,供应商),客户(客户号,姓名,地址,电邮,性别,身份证号),购买(客户号,商品号,购买数量),则关系购买的键为(  )。A 客户号B 商品号C 客户号,商品号D 客户号,商品号,购买数量

题目
单选题
设有一个商店的数据库,记录客户及其购物情况,由三个关系组成:商品(商品号,商品名,单价,商品类别,供应商),客户(客户号,姓名,地址,电邮,性别,身份证号),购买(客户号,商品号,购买数量),则关系购买的键为(  )。
A

客户号

B

商品号

C

客户号,商品号

D

客户号,商品号,购买数量

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

某公司的商品(商品号,商品名称,生产商,单价)和仓库(仓库号,地址,电话,商品号,库存量)两个实体之间的关系如表1和表2所示。

商品关系的主键是(42);仓库关系的主键是(43);仓库关系(44),为了解决这一问题,需要将仓库关系分解为(45)。

A.商品号

B.商品名称

C.生产商

D.单价


正确答案:A
解析:本题考查的是应试者对关系模式中主键、外键和模式分解及相关知识的掌握程度。关系模式中主键方面的基础知识。商品关系的主键是商品号;仓库关系的主键是(仓库号,商品号)。试题(42)的正确答案是A。

第2题:

设有商品表(商品号,商品名,单价) 和销售表(商品号,销售时间,销售数量)。现要查询单价高于100元的全部商品的销售总次数和总数量,包括没有被卖出过的商品(没有被卖出过的商品的销售总次数和总数量置为0) 。请补全如下语句:

SELECT商品表。商品号,销售总次数= (9) ,

销售总数量=SUM(销售数量)

FROM商品表 (10) 销售表

0N商品表。商品号=销售表。商品号

WHERE单价>100

GROUP BY商品表。商品号

(9)


正确答案:COUNT(销售表.商品号)
COUNT(销售表.商品号)

第3题:

设有商品表(商品号,商品名,单价)和销售表(销售单据号,商品号,销售时间,销售数量,销售单价)。其中,商品号代表一类商品,商品号、单价、销售数量和销售单价均为整型。请编写查询某年某商品的销售总毛利的存储过程,毛利=销售数量x(销售单价一单价)。要求商品号和年份为输入参数,总毛利用输出参数返回。(10分)


正确答案:
存储过程是由PL/SQL语句书写的过程,这个过程经编译和优化后存储在数据库服务器中,使用时只要调用即可。使用存储过程具有以下优点:其已经编译和优化过了,所以运行效率高,提供了在服务器端快速执行SQL语句的有效途径;存储过程降低了客户端和服务器之间的通信量;方便实施企业规则,当企业规则发生变化时只要修改存储过程,而无需修改其他应用程序。创建存储过程:create procedure过程名@[参数名][类型],@[参数名][类型]/*过程首部*/AsDeclare/*as下面对应的<PL/SQL>块为过程体*/beginend如上所示,存储过程包括过程首部和过程体。过程名是数据库服务器合法的对象标识;参数列表:用名字来标识调用时给出的参数值,必须指定值的数据类型。参数可以是输人参数或输出参数,默认为输人参数。【参考答案】CREATE PROCEDURE PRODUCT@商品号int,@年份int,@毛利int outputASDECLARE@某商品销售量int,@某商品进价int,@某商品销售单价int/*中间变量定义:*/BEGINSelect@某商品进价=单价from商品表where@商品号=商品号Select@某商品销售单价=销售单价,@某商品销售量=count(*)from销售表where@商品号=商品号and销售时间=@年份IF@某商品进价is NULL THEN/木判断该商品是否存在*/ROLLBACK;RETURN;END IFIF@某商品销售单价is NULL THEN/*判断该两晶是否可卖*/ROLLBACK;RETURN;END IFSET@毛利=(@某商品销售单价-@某商品进价)*@某商品销售量GO

第4题:

查询销售金额合计超过20000的商店,查询结果包括商店名和销售金额合计。正确命令是

A.SELECT商店名,SUM(销售数量*单价)AS销售金额合计 FROM商店,商品,销售. WHERE销售金额合计20000

B.SELECT商店名,SUM(销售数量*单价)AS销售金额合计>20000 FROM商店,商品,销售 WHERE商品.商品号=销售.商品号AND商店.商店号=销售.商店号

C.SELECT商店名,SUM(销售数量*单价)AS销售金额合计 FROM商店,商品,销售 WHERE商品.商品号=销售.商品号AND商店.商店号=销售.商店号 AND SUM(销售数量*单价)>20000 GROUP BY商店名

D.SEKECT商店名,SUM(销售数量*单价)AS销售金额合计 FROM商店,商品,销售 WHERE商品.商品号=销售.商品号AND商店.商店号=销售.商店号 GROUP BY商店名HAVING SIJM(销售数量*单价)>20000


正确答案:D
解析:要查询销售金额合计超过20000的商店,首先要按商店名分组计算销售金额合计,然后用HAVING短语限定分组后查询的条件是销售金额合计超过20000的商店。故D)是正确的。

第5题:

查询单价最高的商品销售情况,查询结果包括商品号、商品名、销售日期、销售数量和销售金额。正确命令是

A.SELECT商品.商品号,商品名,销售日期,销售数量,销售数量*单价AS销售金额 FROM商品JOIN销售ON商品.商品号=销售.商品号 WHERE单价=(SELECT MAX(单价)FROM商品)

B.SELECT商品.商品号,商品名,销售日期,销售数量,销售数量*单价AS销售金额 FROM商品JOIN销售ON商品.商品号=销售.商品号 WHERE单价=MAX(单价)

C.SELECT商品.商品号,商品名,销售日期,销售数量,销售数量*单价AS销售金额 FROM商品JOIN销售WHERE单价=(SELECT MAX(单价)FROM商品)

D.SELECT商品.商品号,商品名,销售日期,销售数量,销售数量*单价AS销售金额 FROM商品JOIN销售WHERE单价=MAX(单价)


正确答案:A
解析:在指定连接字段时可以用WHERE指定连接条件,也可以用超连接关键字JOIN表示普通连接,即只有满足连接条件的记录才出现在查询结果中,但JOIN后面必须用ON子句指定连接条件,故选项C)和D)是错误的,选项B)中的WHERE语句“单价=MAX(单价)”没有指明MAX(单价)这个最大值来自哪个表,故选A)。

第6题:

设某数据库中有商品表(商品号,商品名,商品类别,价格)。现要创建一个视图,该视图包含全部商品类别及每类商品的平均价格。清补全如下语句:

CREATE VIEW V1(商品类别,平均价格)

AS

SELECT商品类别,______FROM商品表

GROUP BY商品类别


正确答案:AVG(价格)
AVG(价格) 解析:SQL中计算一组记录中某个字段值的平均值用AVG(字段名)函数。

第7题:

查询销售金额合计超过20000的商店,查询结果包括商店名和销售金额合计,正确命令是( )。

A.SELECT商店名,SUM(销售数量*单价)AS销售金额合计 ROM商店,商品,销售 WHERE销售金额总计20000

B.SELECT商店名,SUM(销售数量*单价)AS销售金额合计>20000 FRM商店,商品,销售 WHERE商品,商品号=销售.商品号AND商店.商店号=销售.商店号

C.SELECT商店名,SUM(销售数量*单价)AS销售金额合计 FROM商店,商品,销售 WHERE商品.商品号=销售.商品号AND商店.商店号=销售.商店号 AND SUM(销售数量*单价)>20000 GROUP BY商店名

D.SELECT商店名,SUM(销售数量*单价)>20000


正确答案:D
D。【解析】根据题意可知,A选项中WHERE语句中的条件错误;B选项中AS是代表为(销售数量*单价)取的别名,不能使用条件,因此B选项错误;C选项中的GROUPBY没语法错误,但没有HAVING语句;D选项正确。

第8题:

设有一个商店的数据库,记录客户及其购物情况,由三个关系组成:商品(商品号,商品名,单价,商品类别,供应商),客户(客户号,姓名,地址,电邮,性别,身份证号),购买(客户号,商品号,购买数量),则关系购买的键为()。

A.客户号

B.商品号

C.客户号,商品号

D.客户号,商品号,购买数量


正确答案:C

第9题:

查询商品单价在10到50之间、并且日销售数量高于20的商品名、单价、销售日期和销售数量,查询结果按单价降序。正确命令是

A.SELECT商品名,单价,销售日期,销售数量FROM商品JOIN销售 WHERE(单价BETWEEN 10 AND 50)AND销售数量>20 ORDER BY单价DESC

B.SELECT商品名,单价,销售日期,销售数量FROM商品JOIN销售 WHERE(单价BETWEEN 10 AND 50)AND销售数量>20 ORDER BY单价

C.SELECT商品名,单价,销售日期,销售数量FROM商品,销售 WHERE(单价BETWEEN 10 AND 50)AND销售数量>20 ON商品.商品号=销售.商品号ORDER BY单价

D.SELECT商品名,单价,销售日期,销售数量FROM商品,销售 WHERE(单价BETWEEN 10 AND 50)AND销售数量>20 AND商品.商品号=销售.商品号ORDER BY单价DESC


正确答案:D
解析:按单价降序排列应在ORDER BY后跟DESC短语,因此排除B)和C)选项。选行多表查询时,指定两表关键字进行连接时,JOIN短语必须与ON短语联合使用,故选项A)错误。

第10题:

查询商品单价在10到50之间,并且日销售数量高于20的商品名,单价,销售日期和销售数量,查询结果按单价降序,正确命令是( )

A.SELECT商品名,单价,销售日期,销售数量FROM商品JOIN销售 WHERE(单价BETWEEN l0 AND 50)AND销售数量>=20 ORDER BY单价DESC

B.SELECT商品名,单价,销售日期,销售数量FROM商品JOIN销售 WHERE(单价BETWEEN l0 AND 50)AND销售数量>20

C.SELECT商品名,单价,销售日期,销售数量FROM商品,销售 WHERE(单价BETWEEN l0 AND 50)AND销售数量>20 ON商品.商品号=销售.商品号ORDER BY单价

D.SELECT商品名,单价,销售日期,销售数量FROM商品,销售 WHERE(单价BETWEEN l0 AND 50)AND销售数量>20 AND商品,商品号=销售,商品号ORDER BY单价DESC


正确答案:D
D。【解析】根据题意,A选项中使用了JOIN但是少了ON语句所以错误;B选项中不仅没有使用ON语句同时也没有使用降序排列,所以B选项错误;C选项中没有使用降序排列;D选项根据题意进行了查询并将查询结果按照降序进行排列,所以正确。

更多相关问题