用SQL语言检索商品种类大于等于2的部门名称及部门的商品数目,并按商品种类的数目降序排序,正确的命令是 ______。A) SELECT COUNT(商品.商品号)As商品数目,部门名称; FROM部门,商品; WHERE部门.部门号=商品.部门号; GROUP BY部门名称; HAVING商品数目>=2; ORDER BY商品数目 DESCB) SELECT COUNT(商品.商品号)As商品数目,部门名称; FROM部门,商品; GROUP BY部门名称; HAVING商品数目>=2 And部门.部门号=商品.部门号; ORDER BY商品数目DESCC) SELECT COUNT(商品.商品号)As商品数目,部门名称; FROM部门,商品; GROUP BY部门名称; WHERE商品数目>=2; ORDER BY商品数目DESCD) SELECT COUNT(商品.商品号)As商品数目,部门名称; FROM部门,商品; WHERE部门.部门号=商品.部门号And商品数目>=2; GROUP BY部门名称; ORDER BY商品数目DESC
参考答案:A
解析:[知识点] SQL的数据查询功能:聚集查询[评析] Visual FoxPro的SELECT-SQL命令的一般语法格式如下: SELECT[ALL|DISTINCT]<目标列表达式>[,<目标列表达式>... FROM<基本表(或视图)>[,<基本表(或视图)>]... [WHERE<条件表达式>] [GROUP BY<列名1>[HAVING<内部函数表达式>]] [ORDER BY<列名2>[ASC|DESC]]; 说明: ①SELECT子句:ALL表示选出的记录中包括重复记录,这是缺省值;DISTINCT则表示选出的记录中不包括重复记录。 ②FROM子句及其选项:用于指定查询的表,可以对单个表或多个表进行查询。 ③WHERE子句:说明查询条件,即筛选元组的条件。 ④GROUPBY子句:对记录按<列名1>值分组,常用于分组统计。 ⑤HAVING子句:当含有GROUP BY子句时,HAVING子句可用作记录查询的限制条件;无GROUP BY子句时HAVING子句的作用如同WHERE子句。 ⑥ORDER BY子句:指定查询结果中记录按<列名2>排序,默认升序。选项ASC表示升序,DESC表示降序。 在本题中,首先要查出各个部门的商品的种类,就要以部门名称对商品号进行COUNT聚集查询。然后根据聚集查询的结果用HAVING子句进行筛选,最后利用ORDER BY子句进行排序。在查询语句中,WHERE子句用来实现两个表的连接。