以下3题使用如下3个数据库表: 商品(商品号,部门号,商品名称,数量,产地) 部门(部门号,部门名称) 价格(商品号,商品价格)
单选题
用SQL命令查询商品号为“400015”的商品名称、价格和部门名称,正确的命令是______。
【正确答案】
B
【答案解析】解析:SQL语言的数据查询功能的语法一般格式如下; SELECT<目标列表达式> FROM[[<表名1>|<视图名1>][[INNE] JOIN <表名2>|<视图名1>...ON<连接条件>]... FROM[[<数据库名>]<owner>{<表名>|<视图名>} [,[[<数据库名>.]<owner>.{<表名>|<视图名>}... [WHERE<条件表达式>] [GROUP BY<列名1> [HAVING<内部函数表达式>\]\] [ORDER BY<列名2>{ASC/DESC}] 连接查询是一种基于多个关系的查询。在SQL查询语句中建立两表间的连接可使用JOIN关键字连接其左右两个<表名>所指的表,用ON子句指定连接条件;也可以一次性在WHERE子句中指定连接条件和筛选条件。
单选题
用SQL命令查询商品价格高于或等于120元的商品的商品名称和数量,正确的命令是______。
【正确答案】
A
【答案解析】解析:本题建立的是SELECT—SQL命令的嵌套查询语句。在这个命令中要用到两个SELECT—FROM— WHERE查询块,即内层查询块和外层查询块,通过内层查询块检索商品价格都高于或等于120元的记录,即检索出价格中都不存在120元以下的记录。
单选题
用SQL语言检索商品种类大于等于2的部门名称及部门的商品数目,并按商品种类的数目降序排序,正确的命令是______。
【正确答案】
A
【答案解析】解析:Visual FoxPro的SELECT—SQL命令的一般语法格式如下: SELECT[ALL|DISTINCT]<目标列表达式>[,<目标列表达式>]… FROM<基本表(或视图)>[,<基本表(或视图)>]… [WHERE<条件表达式>] [GROUP BY<列名1>[HAVING<内部函数表达式>\]\] [ORDER BY<列名2>[ASC|DESC\]\]; 说明: ① SELECT子句:ALL表示选出的记录中包括重复记录,这是缺省值;DISTINCT则表示选出的记录中不包括重复记录。 ② FROM子句及其选项:用于指定查询的表,可以对单个表或多个表进行查询。 ⑧ WHERE子句:说明查询条件,即筛选元组的条件。 ④ GROUP BY子句;对记录按<列名1>值分组,常用于分组统计。 ⑤ HAVING子句:当含有GROUP BY子句时,HAVING子句可用作记录查询的限制条件:无GROUP BY子句时HAVING子句的作用如同WHERE子句。 ⑥ ORDER BY子句:指定查询结果中记录按<列名2>排序,默认升序。选项ASC表示升序,DESC表示降序。在本题中,首先要查出各个部门的商品的种类,就要以部门名称对商品号进行COUNT聚集查询。然后根据聚集查询的结果用HAVING子句进行筛选,最后利用ORDER BY子句进行排序。在查询语句中,WHERE子句用来实现两个表的连接。