计算机三级数据库技术(高级数据查询)机试模拟试卷5
选择题
1.设在SQL Server 2008某数据库中有表SC(Sno,Cno,Grade),其中Grade列的类型为int。若在查询成绩时,希望将成绩按“优”、“良”、“中”、“及格”和“不及格”形式显示,则下列Case函数中正确的是( )(D)
A. Case Grade
When Grade between 90 and 100 THEN Grade =‘优’
When Grade between 80 and 89 THEN Grade=‘良’
When Grade between 70 and 79 THEN Grade=‘中’
When Grade between 60 and 69 THEN Grade=‘及格’
Else Grade=‘不及格’
End
B. Case Grade
When Grade between 90 and 100 THEN’优’
When Grade between 80 and 89 THEN’良’
When Grade between 70 and 79 THEN’中’
When Grade between 60 and 69 THEN’及格’
Else’不及格’
End
C. Case
When Grade between 90 and 100 THEN Grade=‘优’
When Grade between 80 and 89 THEN Grade=‘良’
When Grade between 70 and 79 THEN Grade=‘中’
When Grade between 60 and 69 THEN Grade=‘及格’
Else Grade=‘不及格’
End
D. Case
When Grade between 90 and 100 THEN’优’
When Grade between 80 and 89 THEN’良’
When Grade between 70 and 79 THEN’中’
When Grade between 60 and 69 THEN’及格’
Else’不及格’
End
解析:此题考查了SQL中CASE WHEN语句的用法,根据题意若在查询成绩时,希望将成绩按“优”、“良”、“中”、“及格”和“不及格”形式显示,则可以使用搜索
CASE函数,其语法格式如下:
Case
When布尔表达式1 THEN结果表达式1
When布尔表达式2 THEN结果表达式2
…
故根据题意其表示方式如下:
Case
When Grade between 90 and 100 THEN‘优’
When Grade between 80 and 89 THEN’良’
When Grade between 70 and 79 THEN’中’
When Grade between 60 and 69 THEN’及格’Else ‘不及格’
End
故选择D选项。
2.设有汽车销售表(汽车型号,销售时间,销售价格,销售数量),其中(汽车型号,销售时间)是主码。现要查询2015年销售总数量最多的汽车的汽车型号和销售总数量(包括并列情况)。下列语句中能正确完成该查询要求的是( )。(A)
A. SELECT TOP 1 WITH TIES汽车型号,SUM(销售数量)FROM汽车销售表
WHERE销售时间BETWEEN ‘2015/1/1’ AND ‘2015/12/31’
GROUP BY汽车型号
ORDER BY SUM(销售数量)DESC
B. SELECT TOP 1 WITH TIES汽车型号, SUM(销售数量)FROM汽车销售表
WHERE销售时间BETWEEN ‘2015/1/1’ AND ‘2015/12/31’
GROUP BY汽车型号
ORDER BY SUM(销售数量)ASC
C. SELECT TOP 1 WITH TIES汽车型号,SUM(汽车型号)FROM汽车销售表
WHERE销售时间BETWEEN ‘2015/1/1’ AND ‘2015/12/31’
GROUP BY汽车型号
ORDER BY SUM(汽车型号) DESC
D. SELECT TOP 1 WITH TIES 汽车型号, SUM(汽车型号)FROM汽车销售表
WHERE销售时间BETWEEN ‘2015/1/1’AND ‘2015/12/31’
GROUP BY汽车型号
ORDER BY SUM(汽车型号)ASC
解析:题目中要求查询2015年销售总数量最多的汽车的汽车型号和销售总数量(包括并列情况),所以返回的记录值为一条数据,并且按照汽车型号分组,销售数量求和并降序排列。故答案为A选项。
3.设有职工表(职工号,姓名,所在部门,工资),现要查询姓名为“张三”(姓名唯一)的职工所在部门的最高工资。下列查询语句中正确的是( )。(A)
A. SELECT MAX(A.工资)FROM职工表A JOIN职工表B
ON A.所在部门=B.所在部门ANDB.姓名=‘张三’
B. SELECT MAX(工资)FROM职工表
WHERE姓名=‘张三’
GROUP BY所在部门
C. SELECT MAX(工资)FROM职工表
WHERE姓名=‘张三’
GROUP BY所在部门
ORDER BY 1
D. SELECT MAX(工资)FROM 职工表
WHERE姓名=‘张三’
ORDER BY 1
解析:本题考查自连接与INNER(INNER可省略)JOIN……N语句的应用。
如果连接操是一个表与其自己进行连接,称为表的自身连接。语法格式:SELECT查询内容FROM表名表别名1,表名别名2……
INNER(INNER可省略)JOIN……N语法格式:需要连接的表1 JOIN需要连接的表2 ON连接的条件。故答案为A项。
4.设在SQL Server 2008某数据库中有商品表(商品号,商品名,类别,单价)和销售表(商品号,销售时间,销售数量)。现要查询2015年9月没有被卖出过的“手机”类商品的商品名和单价。下列查询语句中能正确完成该查询要求的是( )。(C)
A. SELECT商品名,单价FROM商品表
JOIN销售表ON商品表.商品号=销售表.商品号
WHERE销售时间NOT BETWEEN ‘2015/9/1’ AND ‘2015/9/30’
AND类别=‘手机
本文档预览:3600字符,共14060字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载