Visual FoxPro数据库程序设计

单选题假设“订单”表中有订单号、职员号、客户号和金额字段,正确的SQL语句只能是(  )。A SELECT职员号FROM订单GROUP BY职员号HAVING COUNT(*)>3 AND AVG_金额>200B SELECT职员号FROM订单GROUP BY职员号HAVING COUNT(*)>3 AND AVG(金额)>200C SELECT职员号FROM订单GROUP BY职员号HAVING COUNT(*)>3 WHERE AVG(金额)>200D SELECT职员号FROM订单GROUP BY职

题目
单选题
假设“订单”表中有订单号、职员号、客户号和金额字段,正确的SQL语句只能是(  )。
A

SELECT职员号FROM订单
GROUP BY职员号HAVING COUNT(*)>3 AND AVG_金额>200

B

SELECT职员号FROM订单
GROUP BY职员号HAVING COUNT(*)>3 AND AVG(金额)>200

C

SELECT职员号FROM订单
GROUP BY职员号HAVING COUNT(*)>3 WHERE AVG(金额)>200

D

SELECT职员号FROM订单
GROUP BY职员号WHERE COUNT(*)>3 AND AVG_金额>200

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

第1题:

显示2005年1月1日后签订的订单,显示订单的订单号、客户名以及签订日期。正确的SQL语句是A) SELECT订单号,客户名,签订日期FROM订单JOIN客户ON订单.客户号=客户.客户号WHERE签订日期>{^2005-1-11}B) SELECT订单号,客户名,签订日期FROM订单JOIN客户WHERE订单.客户号=客户.客户号AND签订日期>{^2005-1-11}C) SELECT订单号,客户名,签订日期FROM订单,客户WHERE订单.客户号=客户.客户号AND签订日期<{^2005-1-1}D) SELECT订单号,客户名,签订日期FROM订单,客户ON订单.客户号=客户.客户号AND签订日期<{^2005-1-11}


正确答案:A
显示2005年1月1日后签定订单,表示方法为:签定日期>{^2005-1-1},故排除选项C和选项D。两个表使用JOIN连接,连接条件使用ON,故选项A为正确答案。

第2题:

将order_list1表中的记录追加到order_list表中,用SQL SELECT语句完成查询,按总金额降序列出所有客户的客户号、客户名及其订单号和总金额,结果存到results表中(客户号、客户名取自customer表,订单号、总金额来自order_list表)。


正确答案:单击工具栏的[打开]按钮在[打开]对话框中选择“order_list.dbt”单击[确定]按钮。在命令窗口输入“APPEND FROM order_list1”把order_list1中的全部记录添加到表order_list中。由于查询的信息来自于两个表故应在两个表之间按照客户号相等建立连接。排序可用Order by子句来实现使用DESC关键词表示降序。结果保存在表中可使用INTO子句。参考命令如下: SELECT Customer_a.客户号Customer_a.客户名Order_list.订单号Order_list.总金额; FROM 订货管理.order_listcustomer Customer_a; WHERE Order_list.客户号=Customer_a.客户号; ORDER BY Order_list.总金额 DESC; INTO TABLE results
单击工具栏的[打开]按钮,在[打开]对话框中选择“order_list.dbt”,单击[确定]按钮。在命令窗口输入“APPEND FROM order_list1”,把order_list1中的全部记录添加到表order_list中。由于查询的信息来自于两个表,故应在两个表之间按照客户号相等建立连接。排序可用Order by子句来实现,使用DESC关键词表示降序。结果保存在表中,可使用INTO子句。参考命令如下: SELECT Customer_a.客户号,Customer_a.客户名,Order_list.订单号,Order_list.总金额; FROM 订货管理.order_list,customer Customer_a; WHERE Order_list.客户号=Customer_a.客户号; ORDER BY Order_list.总金额 DESC; INTO TABLE results

第3题:

第(29)~(35)题使用如下三个表:有如下三个表: 职员.DBF:职员号C (3),姓名C (6),性别C (2),组号N (1),职务C(10) 客户.DBF:客户号C (4),客户名C (36),地址C (36),所在城市C (36)订单.DBF:订单号C (4),客户号C (4),职员号C (3),签订日期D,金额N (6.2) (29)查询金额最大的那10%订单的信息。正确的SQL语句是A)SELECT*TOP 10 PERCENT FROM订单B)SELECT TOP 10%*FROM订单ORDER BY金额C)SELECT*TOP 10 PERCENT FROM订单ORDER BY金额D)SELECT TOP 10 PERCENT*FROM订单ORDER BY金额DESC


正确答案:D
查询金额最大的10%的订单,应该是按金额从高向低降序排列,显示前面10%,只有选项D的描述是完整的。

第4题:

设有订单表order(其中包括字段:订单号,客户号,客户号,职员号,签订日期,金额),删除2002年1月1日以前签订的订单记录,正确的SQL命令是:()

A、DELETETABLEorderWHERE签订日期<{^2002-1-1}

B、DELETETABLEorderWHILE签订日期>{^2002-1-1}

C、DELETEFROMorderWHERE签订日期<{^2002-1-1}

D、DELETEFROMorderWHILE签订日期>{^2002-1-1}


参考答案:C

第5题:

设有订单表order(其中包含字段:订单号,客户号,职员号,签订日期,金额),查询2007年所签订单的信息,并按金额降序排序,正确的SQL命令是( )。

A.SELECT * FROM order WHERE YEAR(签订日期)=2007 ORDER BY 金额 DESC

B.SELECT * FROM order WHILE YEAR(签订日期)=2007 ORDER BY 金额 ASC

C.SELECT * FROM order WHERE YEAR(签订日期)=2007 ORDER BY 金额 ASC

D.SELECT * FROM order WHILE YEAR(签订日期)=2007 ORDER BY 金额 DESC


正确答案:A
解析:在SQL语句中用WHERE表示条件,而又需要按金额的降序进行排序所以用“金额DESC”表示。

第6题:

有以下SQL语句:SELECT 订单号,签订日期,金额 FROM 订单,职员WHERE 订单.职员号=职员.职员号 AND 姓名=“李二”与如上语句功能相同的SQL语句是A) SELECT订单号,签订日期,金额FROM订单WHERE EXISTS(SELECT*FROM职员WHERE姓名=“李二”)B) SELECT订单号,签订日期,金额FROM订单WHEREEXISTS(SELECT*FROM职员WHERE职员号=订单.职员号AND姓名=“李二”:C) SELECT订单号,签订日期,金额FROM订单WHERE IN(SELECT职员号FROM职员WHERE姓名=“李二”)D) SELECT订单号,签订日期,金额FROM订单WHEREIN(SELECT职员号FROM职员WHERE职员号=订单.职员号AND姓名=“李二”)


正确答案:B
题干中的SQL语句约功能是:查询那些姓名为“李二”的职员的订单号,签订日期和金额的信息;四个选项中只有选项B中的查询条件与此等价。WHERE条件后跟EXISTS不是IN,选项C和选项D可排除,用(SELECTFROM... WHERE...)实现选择出“李二”的职员,选项A缺少“订单.职员号=职员.职员号”条件表达式。

第7题:

使用如下3个表:职员.DBF:职员号C(3),姓名C(6),性别C(2),组号N(1),职务C(10)客户.DBF:客户号C(4),客户名C(36),地址C(36),所在城市C(36)订单.DBF:订单号C(4),客户号C(4),职员号C(3),签订日期D,金额N(6,2)查询金额最大的那10%订单的信息。正确的SQL语句是______。

A.SELECT*TOP 10 PERCENT FROM 订单

B.SELECT TOP 10% *FROM 订单 ORDER BY 金额

C.SELECT*TOP 10 PERCENT FROM 订单 ORDER BY 金额

D.SELECT TOP 10 PERCENT * FROM 订单 ORDER BY 金额 DESC


正确答案:D
解析:Visual FoxPro的SELECT—SQL命令的一般语法格式如下:
    SELECT[ALL|DISTINCT]目标列表达式>[,目标列表达式>]…
    FROM基本表(或视图>[,基本表(或视图)>]…
    [WHERE条件表达式>]
    [GROUPBY列名1>[HAVING内部函数表达式>]]
    [ORDERBY列名2>[ASCIDESC]]
    [TOP数值表达式>[PERCENT]]
  说明:①ORDER BY子句:指定查询结果中记录按列名2>排序,默认升序。选项ASC表示升序,DESC表示降序。
  ②TOP子句:TOP子句必须与ORDER BY子句同时使用。数值表达式>表示在符合条件的记录中选取的记录数。范围1~32 767,排序后的若干记录只计一个。含PERCENT选项肘,数值表达式>表示百分比,记录数为小数时自动取整,范围0.01~99.99。

第8题:

查询订单数在3个以上、订单的平均金额200元以上的职员号。正确的SQL语句是A) SELECT职员号FROM订单GROUP BY职员号HAVING COUNT(*)>3 AND AVG_金额>200B) SELECT职员号FROM订单GROUP BY职员号日AVING COUNT(*)>3 AND AVG_(金额)>200C) SELECT职员号FROM订单GROUP BY职员号HAVING COUNT(*)>3 WHERE AVG_(金额>200D) SELECT职员号FROM订单GROUP BY职员号WHERE COUNT(*)>3 AND_AVG金额>200


正确答案:B
查询订单的平均金额200元以上,用平均函数表示为AVG(金额)>200,故可排除选项A和选项D;订单数在三个以上和订单的平均金额200元以上两个条件要同时满足是逻辑“与”关系,故选项B正确。

第9题:

假设 “ 订单 ” 表中有订单号、职员号、客户号和金额字段,正确的 SQL 语句只能是

A)SELECT 职员号 FROM 订单 GROUP BY 职员号 HAVING COUNT(*)>3 AND AVG_ 金额 >200

B)SELECT 职员号 FROM 订单 GROUP BY 职员号 HAVING COUNT(*)>3 AND AVG( 金额 )>200

C)SELECT 职员号 FROM 订单 GROUP BY 职员号 HAVING COUNT(*)>3 WHERE AVG( 金额 )>200

D)SELECT 职员号 FROM 订单 GROUP BY 职员号 WHERE COUNT(*)>3 AND AVG_ 金额 >200


正确答案:B

第10题:

第{TSE}题使用如下3个数据库表:

职员.dbf:职员号C(3),姓名C(6),性别C(2),组号N(1),职务C(10)

客户.dbf:客户号C(4),客户名C(36),地址C(36),所在城市C(36)

订单.dbf:订单号C(4),客户名C(4),职员号C(3),签订日期D,金额N(6.2)

{TS}查询金额最大的10%订单的信息,正确的SQL语句是( )。


正确答案:D

更多相关问题