单选题
(31)~(35)题使用如下表的数据: 部门表
部门号 |
部门名称 |
40 |
家有电器部 |
10 |
电视录摄像机部 |
20 |
电话手机部 |
30 |
计算机部 | 商品表
部门号 |
商品号 |
商品名称 |
单价 |
数量 |
产地 |
40 |
0101 |
A牌电网扇 |
200.00 |
10 |
广东 |
40 |
0104 |
A牌微波炉 |
350.00 |
10 |
广东 |
40 |
0105 |
B牌微波炉 |
600.00 |
10 |
广东 |
20 |
1032 |
C牌传真机 |
1000.00 |
20 |
上海 |
40 |
0107 |
D牌微波炉_A |
420.00 |
10 |
北京 |
20 |
0110 |
A牌电话机 |
200.00 |
50 |
广东 |
20 |
0112 |
B牌手机 |
2000.00 |
10 |
广东 |
40 |
0202 |
A牌电冰箱 |
3000.00 |
2 |
广东 |
30 |
1041 |
B牌计算机 |
6000.00 |
10 |
广东 |
30 |
0204 |
C牌计算机 |
10000.00 |
10 |
上海 | |
单选题
SQL语句SELECT部门号,MAX(单价*数量)FROM商品表GROUP BY部门号 查询结果有几条记录?
【正确答案】
C
【答案解析】[解析] 本题中SQL语句的功能是:在商品表中按部门号进行分组,分组后从每个组中查询出单价和数量乘积最大的记录,从原始表中可以看出,表中有3个部门号,所以该SQL执行后应该有3条记录,正确选项为C。
单选题
SQL语句 SELECT产地,COUNT(*)提供的商品种类数; FROM商品表; WHERE单价>200; GROUP BY产地HAVING COUNT(*)>=2; ORDER BY 2 DESC 查询结果的第一条记录的产地和提供的商品种类数是
【正确答案】
C
【答案解析】[解析] 题目中所写出的SQL语句的功能是:在商品表中查询那些提供的商品单价大于200元,并且提供两种以上商品的产地,并按照提供的商品种类数降序排列,从原始数据表中可以计算出,满足条件的记录为产地为广东,商品种类个数为5,选项C正确。
单选题
SQL语句 SELECT部门表.部门号,部门名称,SUM(单价*数量); FROM 部门表,商品表; WHERE 部门表.部门号=商品表.部门号; GROUP BY 部门表.部门号 查询结果是
【正确答案】
B
【答案解析】[解析] 该语句利用SUM()函数在商品表中查询各部门商品的金额合计,该题涉及多表查询,其执行过程是,从部门表中选取部门号和部门名称以及单价和数量字段,乘积后求和,查询出的记录同时要满足部门号字段和商品表中的部门号相等。GROUP BY后的分组字段是部门号,因此它计算的是各个部门商品金额的合计。
单选题
SQL语句 SELECT 部门表.部门号,部门名称,商品号,商品名称,单价; FROM 部门表,商品表; WHERE 部门表.部门号=商品表.部门号; ORDER BY 部门表.部门号 DESC,单价 查询结果的第一条记录的商品号是
【正确答案】
A
【答案解析】[解析] 该SELECT语句的功能是在部门表和商品表两个表中查询,利用SUM()函数在商品表中查询各部门商品金额合计,并将结果按照部门表中的部门号降序排列,单价字段作为排序的次关键字。因此,所选出记录的商品号应该是0101,选项A是正确答案。
单选题
SQL语句 SELECT 部门名称 FROM 部门表 WHERE 部门号 IN (SELECT部门号, FROM 商品表 WHERE 单价 BETWEEN 420 AND 1000) 查询结果是
【正确答案】
A
【答案解析】[解析] 该语句的执行过程是,首先在内层查询中查找哪个部门的商品单价在420元和1000元之间,并检索出部门号,然后,在外层查询在部门表中,查找出与之对应的部门名称,因此选项A正确。