Visual FoxPro数据库程序设计

单选题查询单价最高的商品销售情况,查询结果包括商品号、商品名、销售日期、销售数量和销售金额。正确的命令是(  )。A SELECT商品.商品号,商品名,销售日期,销售数量,销售数量*单价AS销售金额FROM商品JOIN销售0N商品.商品号=销售.商品号WHERE单价=(SELECT MAX单价)FROM商品)B SELECT商品.商品号,商品名,销售日期,销售数量,销售数量*单价AS销售金额FROM商品JOIN销售ON商品.商品号=销售.商品号WHERE单价=MAX(单价)C SELECT商品.商品号,商

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


SELECT商品.商品号,商品名,销售日期,销售数量,销售数量*单价AS销售金额
FROM商品JOIN销售0N商品.商品号=销售.商品号
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(单价)

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

第1题:

设有商品表(商品号,商品名,单价)和销售表(销售单据号,商品号,销售时间,销售数量,销售单价)。其中,商品号代表一类商品,商品号、单价、销售数量和销售单价均为整型。请编写查询某年某商品的销售总毛利的存储过程,毛利=销售数量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

第2题:

在各种数据环境中,粒度用于描述数据的综合程度。设某系统中有商品销售表(商品号,销售量,单价,日期,时间) 和商品周销售表(商品号,周销售量,周) ,则商品销售表的粒度级要 (7) 于商品周销售表的粒度级。若两个表的时间跨度相同,则商品销售表中存放的数据量要 (8) 于商品周销售表的数据量。

(7)


正确答案:低

第3题:

设某系统中有商品销售表(商品号,商品类别,数量,单价,销售日期,销售时间),该表数据量大,在工作时间会被频繁插入销售数据。用户需要经常查询每天各类别商品的销售总量。为了提高查询效率,下列措施中最为有效且合理的是

A.在商品销售表上针对商品类别和销售日期属性建立索引

B.建立商品分类别日销售汇总表(商品类别,销售总量,日期),每产生一条新销售记录时实时更新该表,用户直接使用该表进行查询即可

C.在商品销售表的商品号和销售日期属性上建立索引

D.建立商品日销售汇总表(商品号,商品类别,销售总量,日期),每产生一条新销售记录时实时更新该表,用户直接使用该表进行查询即可


正确答案:B

第4题:

设有商品表(商品编号,商品名,进货单价,销售单价)、销售表(商品编号,销售时间,销售数量)和商品利润表(商品编号,总利润)。设进货单价、销售数量、销售单价和总利润均为整型,商品编号和商品名的类型均为varchar(20)。总利润的默认值为0。请编写完成下列功能的存储过程:根据给定的商品编号修改对应商品的总利润。(10分)


正确答案:存储过程如下: CREATE PROCEDURE ZLR_UPDATE @SPBH VARCHAR(20) AS DECLARE@JHDJ INT DECLARE@XSDJ INT、 DECLARE@XSSL INT DELARE@ZLRl INT DELARE@ZLR VARCHAR(20) SET@JHDJ=(SELECT进货单价FROM商品 表WHERE商品编号=@SPBH) SET@XSDJ=(SELECT销售单价FROM商品 表WHERE商品编号=@SPBH) SET@XSSIL=(SELECT销售数量FROM商品 表WHERE商品编号=@SPBH) SET@ZLRl=(@XSDJ-@JHDJ)*@XSSL SET@ZLR=CONVERT(VARCHAR@ ZLRl) UPDATE商品利润表SET总利润=@ZLR WHERE商品编号=@SPBH
存储过程如下: CREATE PROCEDURE ZLR_UPDATE @SPBH VARCHAR(20) AS DECLARE@JHDJ INT DECLARE@XSDJ INT、 DECLARE@XSSL INT DELARE@ZLRl INT DELARE@ZLR VARCHAR(20) SET@JHDJ=(SELECT进货单价FROM商品 表WHERE商品编号=@SPBH) SET@XSDJ=(SELECT销售单价FROM商品 表WHERE商品编号=@SPBH) SET@XSSIL=(SELECT销售数量FROM商品 表WHERE商品编号=@SPBH) SET@ZLRl=(@XSDJ-@JHDJ)*@XSSL SET@ZLR=CONVERT(VARCHAR,@ ZLRl) UPDATE商品利润表SET总利润=@ZLR WHERE商品编号=@SPBH

第5题:

在“db4.mdb”数据库库中有售货员信息、库存数据和销售数据三张表。

(1) 以销售数据,售货员信息和库存数据表为数据源,创建参数查询“按货号查询销售金额”,实现通过输入货号显示该产品的销售金额。参数提示为“请输入货号”,结果显示货号、货名和销售金额字段。其中销售金额=Sum([销售数据]![销售价格])。查询结果如图所示。

(2) 创建“销售金额查询”宏,运行“按货号查询销售金额”查询。


正确答案:

第6题:

使用SQL命令查询2001年(不含)以前进货的商品,列出其“分类名称”、“商品名称”和“进货日期”,查询结果按“进货日期”升序排序并存入文本文件infor.txt中,所用命令存入文本文件sql.txt中。

(2)用SQL UPDATE命令为所有“商品编码”首字符是“3”的商品计算销售价格:销售价格为在进货价格基础上加22.68%,并把所用命令存入文本文件update.txt中。


正确答案:在命令窗口中输入命令:MODIFY FILE sq1在文本编辑器窗口输入如下程序段: ******文件sq1.txt中的程序段***** SELECT分类名称商品名称进货日期; FROM商品分类; WHERE分类.分类编码=商品.分类编码; AND YEAR(进货日期)2001; TO FILE infor; ORDER BY进货日期 ******************************* 在命令窗口输入命令:DOsq1.txt运行程序。程序运行结果如图3-32所示。 (2)在命令窗口中输入命令:MODIFY FILE update在文本编辑器窗口输入如下程序段。 ******文件update.txt中的程序段***** UPDATE商品SET销售价格=进货价格*1.2268; WHERE LEFT(商品编码1)='3' ****************************** 在命令窗口输入命令:DO update.txt运行程序。通过BROWSE命令可直接查看修改结果结果如图 3-33所示。
在命令窗口中输入命令:MODIFY FILE sq1,在文本编辑器窗口输入如下程序段: ******文件sq1.txt中的程序段***** SELECT分类名称,商品名称,进货日期; FROM商品,分类; WHERE分类.分类编码=商品.分类编码; AND YEAR(进货日期)2001; TO FILE infor; ORDER BY进货日期 ******************************* 在命令窗口输入命令:DOsq1.txt,运行程序。程序运行结果如图3-32所示。 (2)在命令窗口中输入命令:MODIFY FILE update,在文本编辑器窗口输入如下程序段。 ******文件update.txt中的程序段***** UPDATE商品SET销售价格=进货价格*1.2268; WHERE LEFT(商品编码,1)='3' ****************************** 在命令窗口输入命令:DO update.txt,运行程序。通过BROWSE命令可直接查看修改结果,结果如图 3-33所示。 解析:本大题两个小题主要考查的是SQL语句的应用,而且还考查了函数的应用,考生应该熟悉各个函数的功能,以及注意数据表之间的联系。

第7题:

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

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

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

FROM商品表 (10) 销售表

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

WHERE单价>100

GROUP BY商品表。商品号

(9)


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

第8题:

( 30 ) 某个数据仓库中保存有商品销售明细数据表 T ( 商品号 , 数量 , 价格 , 时间 ) , 其细节数据保存期 为2 年 , 每年销售记录约有 5 千万条 。 设前端应用需要针对这些数据进行每月重要商品销售情况与趋势分析 ,可供用户查询或分析的数据时间跨度最长为 5 年 , 为了提高这项分析需求的执行效率 , 下列方案合理且有效的是

A )按月份为商品明细数据建立分区,并为商品销售明细数据建立索引,每次分析时根据细节数据实时计算生成月粒度级数据,并用于趋势分析

B )按月份为商品明细数据建立分区,并为商品销售明细数据建立索引,建立视图 V 1 (商品号,日销售总数量,日销售总金额,日期 ) ,将 V 1 作为数据分析源

C )在商品号属性上为 T 建立索引,建立物化视图 V 2 (商品号,日销售总数量,日销售总金额,日期 ) , 每天根据 T 中新产生的数据对 V 2 进行增长式更新,并将 V 2 作为分析数据源

D ) 建立物化视图 V 3 ( 商品号 , 月销售总数量 , 月销售总金额 , 月份 ) , 每天清空 V 3 , 并根据表 T 重新计 算V 3 ,并将 V 3 作为分析数据源


正确答案:C

第9题:

有某商场的销售记录(日期、商品名称、商品单价、销售数量),要查询每天的销售情况,以下正确的SQL语句是( )。

A. SELECT*FROM销售记录0RDER BY日期

B. SELECT*FROM销售记录GROUP BY日期

C. SELECT日期,SUM(销售数量)AS销售总数量,SUM(销售数量*商品单价)销售总额FROM销售记录0RDER BY日期

D. SELECT日期,SUM(销售数量)AS销售总数量,SUM(销售数量)*SUM(商品单价)销售总额FROM销售记录0RDER BY日期


正确答案:C
SQL语句中GROUP BY子句用于对记录按组进行分组,常用于分组统计。使用GROUP BY时,只能查询分组的元素和计算函数,不能查询表的所有记录,故B不正确;c中SUM(销售数量)统计每天的销售量,销售数量。商品单价是每条记录的销售额,SUM(销售数量)*SUM(商品单价)是每天的销售总额;D中SUM(商品单价)是把每天的记录单价相加,没有实际意义。故本题答案是C。

第10题:

在“商品.mdb”数据库中有雇员、商品和销售明细三张表。

(1) 创建带有SQL子查询的查询“查询1”,显示当月出生的雇员全部信息。要求在子查询中实现查询当月出生雇员信息。

(2) 以雇员、商品和销售明细三张表为数据源,创建多表查询“销售情况”,查询销售单号、雇员姓名、商品名称和销售日期字段。查询结果如图所示。


正确答案:

更多相关问题