单选题
下列各题使用如下表的数据:
部门表 部门号 | 部门名称 | 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语句的功能。目的是在商品表中按部门号进行分组,分组后从每个组中查询出单价和数量乘积最大的记录。
单选题
SQL语句
SELECT产地,COUNT(*)
FROM商品表
WHERE单价>200
GROUP BY产地HAVING COUNT(*)>=2
ORDER BY 2 DESC
查询结果的第一条记录的产地和提供的商品种类数是( )。
【正确答案】
C
【答案解析】[解析] 本题考查了SQL语句的功能。ORDER BY短语可以对查询结果排序(DESC降序排列),GROUP BY短语用来分组记录,HAVING语句在GROUP BY短语后对结果进行筛选。本题SQL语句的作用是,在商品表中查询那些提供的商品单价大于200元,并且提供两种以上商品的地方,并按提供的商品种类数降序排列。
单选题
SQL语句
SELECT部门表.部门号,部门名称,SUM(单价*数量)
FROM部门表,商品表
WHERE部门表.部门号=商品表.部门号
GROUP BY部门表.部门号
查询结果是( )。
【正确答案】
B
【答案解析】[解析] 本题SQL语句的作用是从部门表中选取部门号、部门名称、单价与数量的乘积,查询的同时满足部门号字段和商品表中的部门号字段相等。GROUP BY后的分组字段是部门号,所以此题查询的结果是各个部门商品金额的总和。
单选题
SQL语句
SELECT部门表.部门号,部门名称,商品号,商品名称,单价
FROM部门表,商品表
WHERE部门表.部门号=商品表.部门号
ORDER BY部门表.部门号DESC,单价
查询结果的第一条记录的商品号是( )。
【正确答案】
A
【答案解析】[解析] 本题SQL语句的功能是从部门表、商品表中选取部门号、部门名称、商品号、商品名称和单价字段,查询的同时满足部门表的部门号字段和商品表中的部门号相等,同时按部门号降序排列,单价字段作为排序的次关键字。
单选题
SQL语句
SELECT部门名称FROM部门表WHERE部门号IN
(SELECT部门号FROM商品表WHERE单价BETWEEN 420 AND 1000)
查询结果是( )。
【正确答案】
A
【答案解析】[解析] 本题考查的是SQL语句嵌套查询。该过程的执行顺序是先里后外,首先在内层查询中查找哪个部门的商品单价在420元和1000元之间,并检索出字段号,然后在外层查询中,从部门表找出相对应的部门名称。