习题三 SQL的数据查询命令.docx
- 文档编号:13689360
- 上传时间:2023-06-16
- 格式:DOCX
- 页数:15
- 大小:22.35KB
习题三 SQL的数据查询命令.docx
《习题三 SQL的数据查询命令.docx》由会员分享,可在线阅读,更多相关《习题三 SQL的数据查询命令.docx(15页珍藏版)》请在冰点文库上搜索。
习题三SQL的数据查询命令
习题三SQL的数据查询命令
一、单选题
1、SQL语句中条件语句的关键字是_B_______。
A)WHILEB)WHEREC)FORD)CONDITON
2、在SQL语句中,与表达式”工资BETWEEN1210AND1240”功能相同的表达式是 (2003.09)
A)工资>=1210AND工资<=1240B)工资>1210AND工资<1240
C)工资<=1210AND工资>1240D)工资>=1210OR工资<=1240
解释:
SQL中的BETEWWN…AND…表示“…和…之间”,用BETWEEN表示包括两个端点的值。
工资BETWEEN1210AND1240表示工资大于等于1210并且小于等于1240。
答案:
A
3、在SQL语句中,与表达式“仓库号NOTIN(“wh1”,“wh2”)”功能相同的表达式是___。
(2003.09)
A)仓库号=”wh1”AND仓库号=”wh2”
B)仓库号!
=”wh1”AND仓库号#”wh2”
C)仓库号<>”wh1”AND仓库号!
=”wh2”
D)仓库号!
=”wh1”AND仓库号!
=”wh2”
解释:
“仓库号NOTIN(“wh1”,“wh2”)”表示仓库号不在“wh1”和“wh2”字段中,在VisualFoxPro中不等号用“!
=”表示。
答案:
D
4、在SQL语句中,与表达式“供应商名LIKE“%北京%””功能相同的表达式是____。
(2004.04)
A)LEFT(供应商名,4)=”北京”B)”北京”$供应商名
C)供应商名IN“%北京%”D)AT(供应商名,”北京”)
解释:
LIKE是字符串匹配运算符,通配符%表示0个或多个任意字符。
而LEFT()从指定表达式值的左端取一个指定长度的子串作为函数值;$测试子串包含符,如果左边的字符串包含在右边的字符串中则结果为真,如果左边的字符串不包含在右边的字符串中则结果为假。
答案:
C
5、查询订购单号(字符型,长度为4)尾字符是”1”的错误命令是_______。
A)SELECT*FROM订单WHERESUBSTR(订单号,4)=“1”
B)SELECT*FROM订单WHERESUBSTR(订购单号,4,1)=“1”
C)SELECT*FROM订单WHERE”1”$订购单号
D)SELECT*FROM订单WHERERIGHT(订购单号,1)=“1”
解析:
“1”$订购单号只能测试订购单号中有1但并不是尾字符为1.SUBSTR()从指定表达式的指定起始位置取指定长度的子串作为函数值。
RIGHT()从指定表达式值的右端取一个指定长度的子串作为函数值。
$测试字符串包含函数,如果左边的字符串包含在右边字符串中则表达式返回真,否则为假。
答案:
C
6、使用SQL语句从表STUDENT中查询所有姓王的同学的信息,正确的命令是____。
(2003.04)
A)SELECT*FORMSTUDENTWHERELEFT(姓名,2)=“王”
B)SELECT*FORMSTUDENTWHERERIGHT(姓名,2)=“王”
C)SELECT*FORMSTUDENTWHERETRIM(姓名,2)=“王”
D)SELECT*FORMSTUDENTWHERESTR(姓名,2)=“王”
解析:
LEFT()从指定表达式值的左端取一个指定长度的子串作为函数值,LEFT{姓名,2}=“王”表示从姓名字段中取一个字为王。
答案:
A
7、设有学生表S(学号,性别,姓名,年龄),查询所有年龄小于等于18岁的女同学,并按年龄进行降序生成新的表WS,正确的SQL命令是____A___。
A)SELECT*FORMSWHERE性别=“女”AND年龄<=18ORDERBY4DESCINTOTABLEWS
B)SELECT*FROMSWHERE性别=“女”AND年龄<=18ORDERBY年龄INTOTABLEWS
C)SELECT*FROMSWHERE性别=“女”AND年龄<=18ORDERBY‘年龄’DESCINTOTABLEWS
D)SELECT*FROMSWHERE性别=“女”OR年龄<=18ORDERBY‘年龄‘ASCINTOTABLEWS
第8-11题使用如下表2-4-1部门表和表2-4-2商品表的数据:
表2-4-1部门表
部门号
部门名称
40
家用电器部
10
电视录摄像机部
20
电话手机部
30
计算机部
表2-4-2商品表
部门号
商品号
商品名称
单价
数量
产地
40
0101
A牌电风扇
200.00
10
广东
40
0104
A牌微波炉
350.00
10
广东
40
0105
B牌微波炉
600.00
20
广东
20
1032
C牌传真机
1000.00
20
上海
40
0107
D牌微波炉
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
上海
8、SQL语句:
SELECT部门号,MAX(单价*数量)FROM 商品表GOROUPBY部门号查询结果有 3 条记录。
A)1B)4C)3D)10
9、SQL语句:
SELECT产地,COUNT(*)提供的商品种类数FROM商品表WHERE单价>200GROUPBY产地HAVINGCOUNT(*)>=2ORDERBY2DESC查询结果的第一条记录的产地和提供的商品种类数是__D_____。
A)北京,1B)上海,2C)广东,5D)广东,7
10、SQL语句:
SELECT部门表.部门号,部门名称,SUM(单价*数量)
FROM部门表,商品表
WHERE部门表.部门号=商品表.部门号
GROUPBY部门表.部门号
查询结果是____B_______。
A)各部门商品数量合计B)各部门商品表金额合计
C)所有商品金额合计D)各部门商品金额平均值
11、SQL语句:
SELECT部门表.部门号,部门名称,商品号,商品名称,单价
FROM部门表,商品表
WHERE部门表.部门号=商品表.部门号
ORDEREBY部门表.部门号DESC,单价
查询结果的第一条记录的商品号是 A 。
A)0101B)0202C)0110D)0112
12、查询每门课程的最高分,要求得到的信息包括课程名称和分数。
正确的命令是_____。
(2003.09)
学生.DBF:
学号C(8),姓名C(12),性别C
(2),出生日期D,院系C(8)
课程.DBF:
课程编号C(4),课程名称C(10),开课院系C(8)
学生成绩.DBF:
学号C(8),课程编号C(4),成绩I
A)SELECT课程名称,SUM(成绩)AS分数FROM课程,学生成绩;
WHERE课程.课程编号=学生成绩.课程编号GROUPBY课程名称
B)SELECT课程名称,MAX(成绩)分数FROM课程,学生成绩;
WHERE课程.课程编号=学生成绩.课程编号GROUPBY课程名称
C)SELECT课程名称,SUM(成绩)分数FROM课程,学生成绩;
WHERE课程.课程编号=学生成绩.课程编号GROUPBY课程课程编号
D)SELECT课程名称,MAX(成绩)AS分数RROM课程,学生成绩;
WHERE课程.课程编号=学生成绩.课程编号GROUPBY课程编号
解析:
SQL中,MAX()函数是查询课程的最高分,通过课程表的课程编号和学生成绩表的课程编号相同连接课程表和学生成绩表,GROUPBY对课程编号分组,最后显示课程名称和分数字段。
答案:
D
13、假设同一名称的产品有不同的型号和产地,则计算每种产品平均单价的SQL语句是_____D___。
A)SELECT产品名称,AVG(单价)FROM产品GROUPBY单价
B)SELECT产品名称,AVG(单价)FROM产品ORDERBY单价
C)SELECT产品名称,AVG(单价)FROM产品ORDERBY产品名称
D)SELECT产品名称,AVG(单价)FROM产品GROUPBY产品名称
解析:
求平均使用AVG,而GROUPBY对每种产品进行分组。
答案:
D
14、SQL的SELECT语句中,“HAVING<条件表达式>”用来筛选满足条件的_____。
A)列B)行C)关系D)分组
解释:
HAVING必须与GROUPBY一起使用,而GROUPBY短语对查询结果分组,所以“HAVING<条件表达式>”用来筛选满足条件的分组。
答案:
D
15、在SELECT语句中,以下有关HAVING语句的正确叙述是 。
A)HAVING短语必须与GROUPBY短语同时使用
B)使用HAVING短语的同时不能使用WHERE短语
C)HAVING短语可以在任意的一个位置出现
D)HAVING短语与WHERE短语功能相同
解释:
HAVING子句与WHERE子句并不矛盾;在查询中是先用WHERE子句限定元组,
然后进行分组,最后在用HAVING子句限定元组;HAVING子句总是跟在GROUPBY子句之后。
所以A正确。
答案:
A
16、在SQLSELECT语句的ORDERBY短语中如果指定了多个字段,则_____。
(2006.9)
A)无法进行排序B)只按第一个字段排序
C)按从左至右优先依次排序D)按字段排序优先级依次排序
解释:
ORDERBY可以按多个列进行排序,缺省值为升序,即在ORDERBY后最先列示的列优先,即按从左至右优先依次排序。
答案:
C
17、在SQL的SELECT查询结果中,消除重复记录的方法是________。
(2007.4)
A)通过指定主索引实现B)通过指定唯一索引实现
C)使用DISTINCT短语实现D)使用WHERE短语实现
解释:
在SQL中,如果要消除重复记录只需要使用DISTINCT短语。
答案:
C
18、SQLSELECT语句中的ORDERBY子句对应于查询设计器中的__________。
A)“字段”选项卡B)“筛选”选项卡
C)“排序依据”选项卡D)“分组依据”选项卡
解析:
GROOUPBY子句和HAVING子句
在SELECT查询中,GROUPBY子句和HAVING子句有着非常大的比重,关于这两个
子句的含义如下:
GROUPBY短语用于对查询结果进行分组,可以利用它进行分组汇总;
HAVING短语必须跟随GROUPBY使用,它用来限定分组必须满足的条件。
答案:
C
19、查询设计器中的“无重复记录”等效于执行SQLSELECT语句中的________。
A)JOINONB)WHEREC)ORDERBYD)DISTINCT
解析:
ORDERBY短语
在SELECT查询中还有一个短语就是ORDERBY,ORDERBY短语用来对查询的结果
进行排序,对最终结果进行排序,不可以再子查询中使用该短语。
ORDERBY可以对多个列进行排序,缺省值为升序,即在ORDERBY后最先列示的列优先,即按从左至右优先依次排序。
1.DISTINCT短语
在SQL中另外一个经常被使用的短语是DISTINCT,DISTINCT短语的作用是去掉查询结果中的重复值。
答案:
D
20、设有学生表S(学号,姓名,性别,年龄),课程表C(课程号,课程名,学分)和学生选课表SC(学号,课程号,成绩),检索学号、姓名和学生所选课程名和成绩,正确的SQL语句是________。
A)SELECT学号,姓名,课程名,成绩FROMS,SC,CWHERES.学号=SC.学号ANDSC.学号=C.学号
B)SELECT学号,姓名,课程名,成绩FROM(SJOINSCONS.学号=SC.学号)JOINCONSC.课程号=C.课程号
C)SELECTS.学号,姓名,课程名,成绩FROMSJOINSCJOINCONS.学号=SC.学号ONSC.课程号=C.课程号
D)SELECTS.学号,姓名,课程名,成绩FROMSJOINSCJOINCONSC.课程号=C.课程号ONS.学号=SC.学号
21下面关于查询描述正确的是____________。
A)可以使用CREATEVIEW打开查询设计器
B)使用查询设计器可以生成所有的SQL查询语句
C)使用查询设计器生产的SQL语句存盘后将存放在扩展名为QPR的文件中
D)使用DO语句执行查询时,可以不带扩展名
解析:
可以使用CREATEQUERY打开查询设计器建立查询,查询设计器只能建立
一些简单的比较规则的查询,复杂的查询是不能使用查询设计器生成的,使用DO语句执行查询时,必须加上扩展名.qpr。
查询是以扩展名为QPR的文件保存在磁盘的,这
是一个文本文件。
答案:
C
22以下关于“查询”的描述正确的是________。
A)查询保存在项目文件中B)查询保存在数据库文件中
C)查询保存在表文件中D)查询保存在查询文件中
解析:
查询是以扩展名为QPR文件保存在磁盘上的,这是一个文本文件,它的
主体是SQLSELECT语句,另外还有和输出定向有关的语句,所以,“查询”保存在查询文件中。
答案:
D
24、查询设计器中“联接”选项卡对应的SQL短语是____________。
(2003.09)
A)WHEREB)JOINC)SETD)ORDERBY
解析:
查询设计器中“联接”选项卡对应的SQL短信是JOIN,WHERE是查询设计器中“筛选”选项卡对应的SQL短信,ORDERBY是查询设计器中“排序”选项卡对应的SQL短语,SET用于赋值。
答案:
B
25、在VisualFoxPro的查询设计器中,“筛选”选项卡对应的SQL短语是。
(2004.04)
A)WHEREB)JOINC)SETD)ORDERBY
解析:
在VisualFoxPro的查询设计器中,“联接”选项卡对应的SQL短语是JOIN,“筛选”选项卡对应的SQL短语是WHERE,“排序”选项卡对应的SQL短语是ORDERBY,SET用于赋值。
答案:
A
26、以下关于查询描述正确的是___________。
(2004.04)
A)不能根据自由表建立查询B)只能根据自由表建立查询
C)只能根据数据库表建立查询D)可以根据数据库表和自由表建立查询
解析:
建立查询的数据源可以是数据库表、自由表、也可以是视图。
答案:
D
27、有关查询设计器,正确的描述是________。
(2004.09)
A)“联接”选项卡与SQL语句的GROUPBY短语对应
B)“筛选”选项卡与SQL语句的HAVING短语对应
C)“排序依据”选项卡与SQL语句的ORDERBY短语对应
D)“分组依据”选项卡与SQL语句的JOINON短语对应
解析:
查询设计器中,“联接”选项卡对应与SQL语句的JOIN短语;“筛选”选项卡对应于SQL语句的WHERE短语;“排序依据”选项卡与SQL语句的ORDERBY短语对应。
“分组依据”选项卡对应于SQL语句的GROUPBY短语。
答案:
C
28、在VisualFoxPro中,要运行查询文件query1.qpr,可以使用命令。
(2005.09)
A)DOquery1B)DOquery1.qprC)DOQUERYquery1D)RUNquery1
解析:
运行查询文件命令格式如下:
DOQueryFile
其中QueryFile是查询文件名,此时必须给出查询文件的扩展名.qpr。
答案:
B
29、以纯文本形式保存设计结果的设计器是___________。
A)查询设计器B)表单设计器C)菜单设计器D)以上三种都不是
解析:
运行查询的命令为:
DO<查询文件名>,查询文件名必须带扩展名.qpr。
答案:
A
二、填空题
1、SQL支持集合的并运算,运算符是UNION。
(2006.04)
2、“职工”表有工资字段,计算工资合计的SQL语句是SELECTFROM职工。
解析:
SUM——求和,所以计算工资合计应为:
SUM(工资)
答案:
SUM(工资)
3、在SQL中用于计算检索的函数有,SUM,AVG,MAX和MIN。
计算函数COUNT()
解析:
在SQL中除了在前面提到的一些短语外,还有一些计算检索的函数,而COUNT就是一个对结果进行统计的函数。
答案:
count
4、歌手表中有”歌手号”、”姓名”和”最后得分”三个字段,”最后得分”越高名次越靠前,查询前10名歌手的SQL语句是:
SELECT*TOP10FORM歌手ORDERBY最后得分DESC。
(2007.04)
解释:
查询10名歌手应用“TOP”短语,最后得分应按降序排序,则用“DESC”短语。
5、在SQL的SELECT查询中使用子句消除查询结果中的重复记录。
(2005.09)
解释:
SQL语句中,DISTINCT短语是查询结果中不允许出现重复值。
答案:
DISTINCT
6、在SQL的SELECT语句进行分组计算查询时,可以使用HAVING子句来去掉不满足条件的分组。
7、在全联接中不满足联接条件的记录对应的部分用___________代替。
解析:
SELECT…
FROMTableINNER/LEFT/RIGHT/FULLJOINTable
ONJoinCondition
WHERE
NNERJOIN等价于JOIN,为普通的联接,又称为内部联接。
RIGHTJOIN为右联接。
LEFTJOIN为左联接。
FULLJOIN可以称为全联接,即两个表中的记录不管是否满足联接条件将都在目标表或查询结果中出现,不满足联接条件的记录对应部分为NULL。
ONJoinCondition指定联接条件。
它的联接条件在ON短语中给出,尔不在WHERE短语中,联接表在FROM中给出。
8、在VisualFoxPro中,使用SQL的SELECT语句将查询结果存储在一个临时表中,应该使用子句。
(2005.09)
解释:
SQL语句中,查询结果可以以多种方式输出,存放在临时表中时用INTOCURSOR。
答案:
INTOCURSOR
9、VisualFoxPro中,使用SQL的SELECT语句将查询结果存储在一个数组中,应该使用子句。
解释:
SQL语句中,查询结果可以以多种方式输出,存放到数组中用INTOARRAY子句
答案:
INTOARRAY
10、在SQLSELECT语句中为了将查询结果存储到永久表应该使用短语。
(2006.09)
解释:
SQL语句中,查询结果可以以多种方式输出,存放在永久表中应该用INTODBF/TABLE。
答案:
INTODBF/TABLE
11、VFP的查询设计器是将查询存储在______和中的工具,其扩展名为_________。
解析:
查询是从指定的表或视图中提取满足条件的记录,然后按照想到的输出类型定向
输出查询结果,一般设计一个查询总要反复使用,查询以扩展名为qpr的文件保存在磁盘上,这是一个文本文件。
12、在VisualFoxPro的查询设计器中,_________选项卡对应的SQL短语是WHERE。
解析:
“筛选”选项卡对应于WHERE短语,用于指定查询条件;
“排序依据”选项卡对应于ORDERBY短语,用于指定排序的字段和排序方式;
“分组依据”选项卡对应于GROUPBY短语HAVING,用于分组;
“杂项”选项卡可以指定是否要重复记录,及列在前面的记录等。
运行查询的命令为:
DO<查询文件名>,查询文件名必须带扩展名.qpr。
二、SQL综合题
职工:
(2分)
职工号
姓名
性别
部门
职称
出生日期
婚否
基本工资
奖金
000001
大眼夹
男
教务
讲师
01/01/72
T
1100.00
103.00
000002
小灵通
女
财务
助教
02/02/79
F
1100.00
139.70
000003
狮子
男
教务
副教授
03/03/67
T
1250.00
123.00
000004
恋恋
女
人事
讲师
04/04/73
F
1600.00
172.70
1、显示所有记录。
(1分)
SELECT*FROM职工
2、查找并显示基本工资字段值。
(1分)
SELECT基本工资FROM职工
3、查找并显示基本工资字段值,重复的仅保留一个。
(2分)
SELECTDISTINCT基本工资FROM职工
4、查找基本工资大于1200元,奖金大于150元的记录的职工号、基本工资字段。
(2分)
SELECT职工号,基本工资FROM职工WHERE基本工资>1200AND奖金>150
5、按基本工资字段降序显示记录,若基本工资值相同,按奖金字段升序排列。
(2分)
SELECT*FROM职工ORDERBY基本工资DESC,奖金ASC
6、显示基本工资最高的人员记录。
(2分)
SELECT*TOP1FORM职工ORDERBY基本工资DESC
7、统计并显示职工表中的部门个数,计算字段名为“部门数”。
(2分)
SELECTCOUNT(DIST部门)AS部门数FROM职工
8、求至少有两个职工的部门的平均基本工资,显示部门和平均工资。
(3分)
SELECT部门,AVG(基本工资)FROM职工GROUPBY部门;
HAVINGCOUNT(*)>=2
9、求职工的最高基本工资值。
(1分)
SELECTMAX(基本工资)FROM职工
10、求教务处职工的最低基本工资值。
(2分)
SELECTMIN(基本工资)FROM职工WHERE部门=”教务”
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 习题三 SQL的数据查询命令 习题 SQL 数据 查询 命令
![提示](https://static.bingdoc.com/images/bang_tan.gif)