国家二级VF机试(关系数据库标准语言SQL)模拟试卷3_第1页
国家二级VF机试(关系数据库标准语言SQL)模拟试卷3_第2页
国家二级VF机试(关系数据库标准语言SQL)模拟试卷3_第3页
国家二级VF机试(关系数据库标准语言SQL)模拟试卷3_第4页
国家二级VF机试(关系数据库标准语言SQL)模拟试卷3_第5页
已阅读5页,还剩67页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

国家二级VF机试(关系数据库标准语言

SQL)模拟试卷第1套

一、选择题(本题共29题,每题1.0分,共29分。)

1、使用如下数据表:学生.DBF:学号(C,8),姓名(C,6),性别(C,2),出生

日期(D)选课.DBF:学号(C,8),课程号(C,3),成绩(N,5,1)设有学生(学

号,姓名,性别,出生三期)和选课(学号,课程号,成绩)两个关系,计算刘明同学

选修的所有课程的平均成绩,正确的SQL语句是

A、SELECTAVG(成绩)FROM选课WHERE姓名="刘明”

B、SELECTAVG(成绩)FROM学生,选课WHERE姓名="刘明”

C、SELECTAVG(成绩)FROM学生..选课WHERE学生..姓名="刘明”

D、SELECTAVG(成绩)FROM学生,选课WHERE学生.学号二选课.学号AND

姓名=,,刘明,,

标准答案:D

知识点解析:本题考查selecl语句的用法。要求计算刘明同学选修的所有课程的平

均成绩,利用AVG()函数求得成绩字段的平均值,查询的数据源为学生和课程两

个表,所以FROM后面要跟这两个表名。以同时满足“学生.学号二选课.学号”和

"姓名=''刘明""为筛选记录的条件。

2、使用如下数据表:学生.DBF:学号(C,8),姓名(C,6),性别(C,2),出生

日期(D)选课.DBF:学号(C,8),课程号(C,3),成绩(N,5,1)假定学号的第

3、4位为专业代码,要计算各专业学生选修课程号为“101”课程的平均成绩,正确

的SQL语句是

A、SELECT专业ASSUBS(学号,3,2),平均分ASAVG(成绩)FROM选课;

WHERE课程号=T01"GROUPBY专业

B、SELECTSUBS(学号,3,2)AS专业,AVG(成绩)AS平均分FROM选课;

WHERE课程号=T0LGROUPBY1

C、SELECTSUBS(学号,3,2)AS专业,AVG(成绩)AS平均分FROM选课;

WHERE课程号=T01"ORDERBY专业

D、SELECT专业ASSUBS(学号,3,2),平均分ASAVG(成绩)FROM选课;

WHERE课程号=rO「ORDERBYI

标准答案:B

知识点解析:题干要求对各专业计算平均分,所以先要把不同专业的学生进行分

组,然后再计算平均分。其中,SQLSELECT中的GROUPBY短句用于对查询结

果进行分组,利用AVG()函数求得指定字段的平均值,其中“GROUPBY1”表示按

输出结果的第一个字段进行分组。

3、使用如下数据表:学生.DBF:学号(C,8),姓名(C,6),性别(C,2),出生

日期(D)选课.DBF:学号(C,8),课程号(C,3),成绩(N,5,1)查询选修课程号

为“101”的课程得分最高的同学,正确的SQL语句是

A、SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号二选课.学

号;AND课程号="10「AND成绩>=ALL(SELECT成绩FROM选课)

B、SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学

号;AND成绩>=ALL[SELECT成绩FROM选课WHERE课程号=力01")

C、SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号二选课.学

号;AND成绩>=ALUSELECT成绩FROM选课WHERE课程号=T0—)

D、SELECT学生.学号,姓名FROM学生.选课WHERE学生.学号二选课.学

号AND;课程号=T0LAND成绩>=ALL(,SELECT成绩FROM选课WHERE

课程号=T0「)

标准答案:D

知识点解析:题目中给出的选项都是采用嵌套垒询实现题目要求。题干中要求对课

程号为“101”的学生进行查询,所以内外查询中都会用到条件“课程号=,”01川\其

中ALL表示所有的结果。

4、SQL的SELECT语句中,-HAVINGv条件表达式>“用来筛选满足条件的

A、列

B、行

关系

D、分组

标准答案:D

知识点解析•:元组是二维表中的一行,表示一个实体的所有属性的集合。在Visaul

FoxPro中,元组被称为记录。SQLSELECT中的HAVING短语必须跟随GROUP

BY使用,它用来限定分组必须满足的条件,进一步筛选满足条件的元组。

5、下列关于SELECT短语的描述中错误的是

A、SELECT短语中可以使用别名

B、SELECT短语中只能包含表中的列及其构成的表达式

C、SELECT短语规定了结果集中的列顺序

D、如果FROM短语引用的两个表有同名的列,则SELECT短语弓|用它们时必须

使用表名前缀加以限定

标准答案:B

知识点解析:SELECT查询命令的使用非常灵活,用它可以构造各种各样的查询。

SQL查询语句可以从表中指定不同字段输出,指定字段的输出次序,即列的次序

可以重新排列,不需要与原数据表一致。SQL的查询子句可以包含表中的表达式

以及表的别名。如果FROM短语中引用的两个表有同名的列,则SELECT短语引

用它们时必须使用表名前缀加以限定。

6、与“SELECT*FROM学生INTODBFA”等价的语句是

A、SELECT*FROM学生INTOA

B、SELECT*FROM学生INTOTABLEA

C、SELECT*FROM学生TOTABLEA

D、SELECT*FROM学生TODBFA

标准答案:B

知识点解析:本题考查查询结果的去向。若在SELECT语句中使用INTODBFI

TABLEV表名,短语,则可以将查询的结果存放到表中,该表是自由表。

7、查询在“北京”和“上海”出生的学生信息的SQL语句是

A、SELECT*FROM学生WHERE出生地=,北京,AND,上海’

13、SELECT*卜ROM学生WHERE出生地=,北京'OK'上海,

C、SELECT*FROM学生WHERE出生地=,北京,AND出生地=,上海,

D、SELECT*FROM学生WHERE出生地=,北京'OR出生地=,上海,

标准答案:D

知识点解析:一个学生的出生地,要么在“北京”,要么在"上海”,所以两者的关系

是“或”,用关键字。r。

8、在SQL语句中,与表达式“年龄BETWEEN12AND46”功能相同的表达式足

A、年龄>=[2OR<=46

B、年龄>=12ANDV=46

C、年龄>=1201<年龄(二4

D、年龄>=12AND年龄<二46

标准答案:D

知识点解析:本题考查BETWEENAND的含义。BETWEEN〈数值表达式

1>AND〈数值表达式2>的意思是“在…和…之间”,表示取<数值表达式1>和<数值

表达式2>之间的数,且包括两个数值表达式值在内。

9、在SELECT语句中,下列关于HAVING短语的描述中正确的是

A、HAVING短语必须与GROUPBY短语同时使用

B、使用HAVING短语的同时不能使用WHERE短语

C、HAVING短语可以在任意的一个位置出现

D、HAVING短语与WHERE短语功能相同

标准答案:A

知识点解析:SQL查询语句中,使用GRoUPBY短语对查询结果进行分组。而

HAVING短语必须跟随GROUPBY使用,它用来限定分组必须满足的条件,并且

与WHERE不矛盾,在查询中先用WHERE子句限定元组。有WHERE子句时,

GROUPBY子句一般放在其后。

10、在SQL的SELECT查询的结果中,消除重复记录的方法是

A、通过指定主索引实现

B、通过指定惟一索引实现

C、使用DISTINCT短语实现

D、使用WHERE短语实现

标准答案:C

知识点解析:本题考查SQL查询的几个特殊选项。在SQL-SELECT语句中,

DISTINCT关键词用于消除查询结果中的重复记录,

11、假设每个歌手的“最后得分”的计算方法是:去淖一个最高分和一个最低分,取

剩下分数的平均分。根据“评分”表求每个歌手的“最后得分”,并存储于表TEMP

中,表TEMP中有两个字段:“歌手号”和“最后得分”,并且按最后得分降序排列,

生成表TEMP的SQL语句是

A、SELECT歌手号,(COUNT(分数)-MAX(分数)-MIN(分数))/(SUM(*)-2)最后得

分;KROM评分INTODBFTEMPGROUPBY歌手号ORDERBY最后得分DESC

B、SELECT歌手号,(COUNT(分数)-MAX(分数)-MIN(分数))/(SUM(*)-2)最后得

分:FROM评分INTODBFTEMPGROUPBY评委号ORDERBY最后得分DESC

C、SELECT歌手号,(SUM(分数)-MAX(分数)-MIN(分数))/(COUNT(*)-2)最后得

分;FROM评分INTODBFTEMPGROUPBY评委号ORDERBY最后得分DESC

D、SELECT歌手号,(SUM(分数)-MAX(分数)-MIN(分数))/(COUNT(*)-2)最后得

分;FROM评分INTODBFTEMPGROUPBY歌手号ORDERBY最后得分DESC

标准答案:D

知识点解析:SQL具备计算方式的检索,通过计数函数COUNT。可以得到评委的

人数,歌手平均分的“算应该是“评委总数-2”,即COUNT⑺-2,而SUM()函数用

于求和,所以排除选项A和B。因为是计算歌手的平均分,应该按歌手号进行分

组,使用GROUPBY短语可以对记录进行分组。

12、与“SELECT*FROM歌手WHERENOT(最后得分>9.00OR最后得分V

8.00)”等价的语句是

A、SELECT*FROM歌手WHERE最后得分BETWEEN9.00AND8.00

B、SELECT*FROM歌手WHERE最后得分>=8.00AND最后得分V=9.00

C、SELECT*FROM歌手WHERE最后得分>9.DOOR最后得分<8.00

D、SELECT*FROM歌手WHERE最后得分V=8.0()AND最后得分>=9.00

标准答案:B

知识点解析:SELECT查询命令的使用非常灵活,用它可以构造各种各样的查询。

本题中给出的查询语句的功能是检索出最后得分不大于9.00或者不小于8.00,

即小于或等于9.00和大于或等于8.00的歌手记录。

13、假设temp,dbf数据表中有两个字段“歌手号”和“最后得分”,下面程序段的功

能是:将temp,dbf中歌手的“最后得分”填入“歌手”表对应歌手的“最后得分”字段

中(假设已增加了该字段),在下划线处应该填写的SQL语句是USE歌手DO

WHILE.NOT.EOF()REPLACE歌手.最后得分WITHa[2]SKIP

ENDDO

A、SELECT*FROMtempWHEREtemp.歌手号=歌手.歌手号TOARRAYa

B、SELECT*FROMtempWHEREtemp.歌手号=歌手.歌手号INTOARRAYa

C、SELECT*FROMtempWHEREtemp.歌手号=歌手.歌手号TOFILEa

D、SELECT*FROMtempWHEREtemp.歌手号二歌手.歌手号INTOFILEa

标准答案:B

知识点解析:由题目中给出的“REPLACE歌手.最后得分WTHa[2「语句可知,数

据通过数组a进行传递,因此SQL查询的输出去向应为数组,所以选项C、D不

符合。查询输出中表示瑜出到数组的短语为“INTOARRAY”。

14、与“SELECTDISTINCT歌手号FROM歌手WHERE最后得分>二人口;

(SELECT最后得分FROM歌手WHERESUBSTR(歌手号,1,1)=,2,广等价的

SQL语句是

A、SELECTDISTINCT歌手号FROM歌手WHERE最后得分>=;(SELECT

MAX(最后得分)卜ROM歌手WHERESUBSTR(歌手号,1,1尸2')

B、SELECTDISTINCT歌手号FROM歌手WHERE最后得分>二;(SELECT

MIN(最后得分)FROM歌手WHERESUBSTR(歌手号,1,1尸2,)

C、SELECTDISTINCT歌手号FROM歌手WHERE最后得分>=ANY;(SELECT

最后得分FROM歌手WHERESUBSTR(歌手号,1,1)="2”)

D、SELECTDISTINCT歌手号FROM歌手WHERE最后得分>=50乂£;

(SELECT最后得分FROM歌手WHERESUBSTR(歌手号,1,1尸2,)

标准答案:A

知识点解析•:题干中的结果是结果是检索出最后得分大于歌手号第一个数字为“2”

的所有歌手的歌手号,囚为要大于所有第一个数字为“2”的歌手的最后得分,只要

满足大于第一个数字为“2”的歌手最后得分即可,MAX函数可用来求最高分。

15、假设“订单”表中有订单号、职员号、客户号和金额字段,正确的SQL语句只

能是

A、SELECT职员号FROM订单:GROUPBY职员号HAVINGCOUNT(*)>3

ANDAVG金额>200

B、SELECT职员号FROM订单:GROUPBY职或号HAVINGCOUNT(*)>3

ANDAVG(金额)>200

C、SELECT职员号FROM订单:GROUPRY职员号HAVINGCOUNT(*)>3

WHEREAVG(金额)>200

D、SELECT职员号FROM订单:GROUPBY职员号WHERECOUNT(*)>3AND

AVG金额>200

标准答案:B

知识点解析:SQL查询语句中使用GROUPBY短语用于对查询结果进行分组,而

HAVING短语必须跟随GROUPBY使用,它用来限定分组必须满足的条件,并且

与WHERE子句不矛盾,在查询中先用WHERE子句限定元组。其中有WHERE

子句时,GROUPBY子句一般放在其后。计算平均值的函数表达式为AVG()。

16、假设同一名称的产品有不同的型号和产地,则计算每种产品平均单价的SQL

语句是

A、SELECT产品名称,AVG(单价)FROM产品GROUPBY单价

B、SELECT产品名称,AVG(单价)FROM产品ORDERBY单价

C、SELECT产品名称,AVG(单价)FROM产品ORDERBY产品名称

D、SELECT产品名称,AVG(单价)FROM产品GROUPBY产品名称

标准答案:D

知识点解析:SQL查询语句中使用GROUPBY短语对查询结果进行分组。其中,

有WHERE子句时,GROUPBY子句一般放在其后。计算平均值的函数表达式为

AVG()o

17、设有S(学号,姓名,性别)和sc(学号,课程号,成绩)两个表,用下列SQL语

句检索选修的每门课程的成绩都高于或等于85分的学生的学号、姓名和性别,正

确的是

A、SELEC1学号,姓名,性另IJ卜ROMsWHEREEXISTS;(SELECl^FROMsc

WHEREsc.学号二s.学号AND成绩V=85、)

B、SELECT学号,姓名,性别FROMsWHERENOTEXISTS;(SELECT*FROM

scWHEREsc.学号=s.学号AND成绩V=85)

C、SELECT学号,姓名,性另ijFROMsWHEREEXISTS;(SELECT*FROMsc

WHEREsc.学号二s.学号AND成绩>85)

D、SELECT学号,姓名,性别FROMsWHERENOTEXISTS;(SELECT*FROM

scWHEREsc.学号二s.学号AND成绩V85)

标准答案:D

知识点解析:题目中给出的四个选项为利用SQL谓诃查询实现题干要求,正确的

语句应该是:SELECT学号,姓名,性别FROMSWHERENOTEXISTS;

(SELECT*FROMSCWHERESC.学号二S.学号AND成绩<85)或者:SELECT

学号,姓名,性另ijFROMSWHEREEXISTS:(SELECT*FROMSCWHERE

SC.学号二S.学号AND成绩>=85)。

18、与“SELECTDISTINCT产品号FROM产品WHERE单价>=ALL(SELECT单

价FROM产品WHERESUBSTR(产品号,1,1尸,2》等价的SQL命令是

A、SELECTDISTINCT产品号FROM产品WHERE单价>=;(SELECTMAX(单

价)FROM产品WHERESURSTR(产品号,l.1)=‘'2'')

B、SELECTDISTINCT产品号FROM产品WHERE单价>=;(SELECTMIN(单

价)FROM产品WHERESUBSTR(产品号,1,1尸,2,)

C、SELECTDISTINCT产品号FROM产品WHERE单价>=ANY:(SELECT单价

FROM产品WHERESUBSTR(产品号,1,1)=,2)

D、SELECTDISTINCT产品号FROM产品WHERE单价>=SOME;(SELECT单价

FROM产品WHERESUBSTR(产品号,1,1尸‘2'')

标准答案:A

知识点解析:本题考查select语句的使用。题目中的SELECT语句的含义是:选出

不重复的单价大于等于所有产品号第一个数字为2的产品单价的产品号。所以与之

含义相同的查询语句是选项Ao

19、SQL语言的查询语句是

A、INSERT

B、UPDATE

C、DELETE

D、SELECT

标准答案:D

知识点解析:SQL的查询语句是SELECT,INSERT是插入语句,UPDATE是更新

语句,DELETE是册IJ除语句。

20、SQL的SELECT语句中,"HAVING”用来筛选满足条件的

A、列

B、行

C、关系

D、分组

标准答案:D

知识点解析:本题考查“HAVING”短语的含义。在SQL的SELECT语句中,

GRouPBY〈分组字段1〉[,分组字段2…][HAVING分组限定条件],可以按一列或

多列分组,还可以使用HAVING进一步限定分组的条件。HAVING子句总是跟在

GROUPBY子句之后,不可以单独使用。

21、在VisualFoxPro中,假设教师表T(教师号,姓名,性别,职称,研究生导师)

中,性别是C型字段,研究生导师是L型字段。若要查询“是研究生导师的女老

师”信息,那么SQL语句“SELECT*FROMTWHEREV逻辑表达式〉”中的〈逻辑

表达式>应是

A、研究生导师AND性别="女”

B、研究生导师OR性别="女”

C、性别="女"AND研究生导师二.F.

D、研究生导师工T.OR性别二女

标准答案:A

知识点解析:根据题意,查询应该同时满足两个条件,即“研究生导师”和“女老

师”.两个条件应该用AND连接.故选项R和选项C错误:由于“研究生导师”字

段是逻辑型,对应表达式应写为“研究生导师二.T.”或者“研究生导师”。

22、查询学生选修课程成绩小于60分的学号,正确的SQL语句是

A、SELECTDISTINCT学号FROMSCWHERE”成绩"V60

B、SELECTDISTINCT学号FROMSCWHERE成绩

C、SELECTDISTINCT学号FROMSCWHERE成绩<60

D、SELECTDISTINCT"学号"FROMSCWHERE"成绩"V60

标准答案:c

知识点词析:查询条件“课程成绩小于60分”对应的条件表达式应该书写为“成绩

<60"。

23、查询学生表S的全部记录并存储于临时表文件。ne中的SQL命令是

A、SELECT*FROM学生表INTOCURSORone

B、SELECT*FROM学生表TOCURSORone

C、SELECT*FROM学生表INTOCURSORDBFone

D、SELECT*FROM学生表TOCURSORDBFone

标准答案:A

知识点解析:将查询结果保存在临时表中应使用短语INTOCURSOR〈表名

24、查询成绩在70分至85分之间学生的学号、课程号和成绩,正确的SQL语句

A、SELECT学号,课程号,成绩FROMscWHERE成绩BETWEEN70AND85

B、SELECT学号,课程号,成绩FROMscWHERE成绩>=70OR成绩V=85

C、SELECT学号,课程号,成绩卜R(JMscWHERE成绩>=7UORV=85

D、SELECT学号,课程号,成绩FROMscWHEI^Jj^i(i>=70AND<=85

标准答案:A

知识点解析:如果查询条件的值是在什么范围之内,可以使用

BETWEEN...AND...运算

25、查询有选课记录,但没有考试成绩的学生的学号和课程号,正确的SQL语句

A、SELECT学号,课程号FROMscWHERE成绩

B、SELECT学号,课程号FROMscWHERE成绩=NULL

C、SELECT学号,课程号FROMscWHERE成绩【SNULL

D、SELECT学号,课程号FROMscWHERE成绩

标准答案:C

知识点解析:查询空值时要使用ISNULL,而二NULL是无效的,因为空值不是一

个确定的值,所以不能用"=''这样的运算符进行比较。

26、查询选修C2课程号的学生姓名,下列SQL语句中错误是

A、SELECT姓名FROMSWHEREEXISTS(SELECT*FROMSCWHERE学号

=S.学号AND课程号=,C2,)

B、SELECTft名FRoMSWHERE学号IN(SELECT学号FRoMSCWHERE谡程

号=(2')

C、SELECT姓名FROMSJOINSCONS.学号二SC.学号WHERE课程号=(2,

D、SELECT姓名FROMSWHERE学号二(SELECT学号FROMSCWHERE课程

号=,C2,)

标准答案:D

知识点解析:选项A中,使用EXISTS谓词来检查子查询中是否有结果返回,它

的查询过程是:首先在外查询中,从S表中取出第一条记录,再在内查询中,针

对该记录,在SC表中逐条记录判断是否存在符合where条件(即“选修C2课程号的

学生”)的记录,如果存在,则从外查询的S表中查找出该记录对应的“姓名”值;然

后依次类推,从S表中取出第二条记录,在内查询中与SC表中的所有记录进行比

较,直到将S表中的所有记录都处理完毕。选项B)是嵌套查询,先在内查询中从

SC表中获得选修了C2课程号的学生的“学号”,再在外查询中从S表中查找出这些

“学号,,对应学生的“姓名,,,由于选修了C2课程号的学生可能不止一个,因此在内

查询中获得的“学号”是一个集合,因此应该使用运算符IN。选项C是联接查询,

将S表和SC表以“学号”字段相等为条件进行联接,查找出选修了C2课程号的学

生。

27、在SQLSELECT语句中与INTOTABLE等价的短语是

A、INTODBF

B、TOTABLE

C、INTOFORM

D、INTOFILE

标准答案:A

知识点解析:SQLSELECT语句中INTOTABL,E短语和INTODBF短语都可用

来定义将查询结果存放到永久表中。另外,INTOARRAY将查询结果存放到数

组,INTOCURSOR将查询结果存放到临时表,TOFILE将查询结果存放到文本文

件中。

28、若SQL语句中的ORDERBY短语中指定了多个字段,则

A、依次按自右至左的字段顺序排序

B、只按第一个字段排序

C、依次按自左至右的字段顺序排序

D、无法排序

标准答案:C

知识点解析:通过在SELECT语句中加入ORDERBY可将查询结果排序,可以按

升序和降序排序,命令格式如下:ORDERBYv排序字段1>[ASC1DESC][,排序字

段2[ASC1DESC]...]。ASC表示按升序排序,DESC表示按降序排序,可以按一列

或多列排序,升序是默认的排列方式。如果短语中指定多个字段,则依次按自左向

右的顺序进行排序。

29、与“SELECT*FROM教师表INTODBFA”等价的语句是

A、SELECT*FROM教师表TODBFA

B、SELECT*FROM教师表TOTABLEA

C、SELECT*FROM教师表INTOTABLEA

D、SELECT*FROM教师表INTOA

标准答案:C

知识点解析:本题考查查询结果的去向。若在SELECT语句中使用INTODBFI

TABLEV表名,短语,则可以将查询的结果存放到表中,该表是自由表。所以应选

Co

家二级VF机试(关系数据库标准语言

SQL)模拟试卷第2套

一、选择题(本题共26题,每题1.0分,共26分。)

1、插入一条记录到表结构为(职工号,姓名,工资)的表Employee中,正确的SQL

命令是

A、INSERTTOEmployeeVALUES。'19620426“,“李平“,8000)

B、INSERTINTOEmployeeVALUES。19620426“,“李平“,8000)

C、INSERTINTOEmployeeRECORD(”19620426“,“李平“,8000)

D、INSERTTOEmployeeRECORD("196204261',“李平”,8000)

标准答案:B

知识点解析:本题考查SQL的数据插入命令。格式如下格式I:INSERTINTO

dbL_name[(fname1[,fname2,...])]VALUES(eXpressionl[,expression2,…])格

式2:INSERTINTOdbf_nameFROMARRAYArrayName[FROMMEMVAR(说

明】①DINSERTINTOdbf_name说明向由dbfnamc指定的表中插入记录;&当

插入的不是完整的记录时,可以用fnamel,fname2,…指定字段;③VALUSES

(eXpressionl[,eXpression2,…])给出具体的记录值;(4)FROMARRAY

ArrayName说明从指定的数组中插入记录值;⑤FROMMEMVAR说明根据同名

的内存变量来插入记录值,如果同名的变量不存在,那么相应的字段值为默认值或

空值。

2、将表结构为(职工号,姓名,工资)的表Employee中所有职工的工资增加20%,

正确的SQL命令是

A、CHANGEEmployeeSET工资=工资*1.2

B、CHANGEEmployeeSET工资WITH工资*1.2

C、UPDATEEmployeeSET工资二工资*1.2

D、UPDATEEmployeeSET工资WITH工资*1.2

标准答案:C

知识点解析:本题考查SQL的数据更新命令。格式如下UPDATETableNameSET

Column_Name1=eXpression1[,ColumnName1=eXpression2....]WHERE

Condition一般使用WHERE子句指定条柞,以更新满足条件的一些记录的字段

值,并且一次可以更新多个字段;如果不使用WHERE子句,则更新全部记录。

题目要求将表结构为(职工号,姓名,工资)的表Employee中所有职工的工资增加

20%,所以SET工资=工资幸*1.2o

3、删除Employee表中职工号为“19620426”的记录,正确的SQL语句是

A、DELETEFROMEmployeeWHILE职工号="19620426”

B、DELETEFOREmployeeWHERE职工号="19620426”

C、DELETEFOREmployeeWHILE职工号="19620426”

D、DELETEFROMEmployeeWHERE职工号二”19620426”

标准答案:D

知识点解析:本题考查SQL语句删除表中记录。命令格式如下:DELETEFROM

TableName[WHERECondition]参数FROM指定从哪个表中删除数据,WHERE指

定被删除记录所满足的条件,如果不使用WHERE子句,则删除该表中的全部记

录。

4、将Employee表中职工号为“19620426”的记录中“单位号”修改为“003”正确的

SQL语句是

A、UPDATEEmployeeSET单位号="003"WHERE职工号IS19620426”

B、UPDATEEmployeeWHERE职工号IS”19620426”SET单位号="003”

C、UPDATEEmployeeSET单位号二"003"WHERE职工号="19620426”

D、UPDATEEmployee单位号WITHM003"WHERE职工号="19620426”

标准答案:C

知识点解析:本题考查SQL的数据更新命令。格式为:UPDATETableNameSET

ColumnName1=eXpression1[,Column_Namel=eXpression2....]WHERE

Condition一般使用WHERE子句指定条件,以更新满足条件的一些记录的字段

值,并且一次可以更新多个字段;如果不使用WHERE子旬,则更新全部记录。

题中将Employee表中职工号为“19620426”的记录的“单位号”修改为“003”,所以使

用UPDATE命令,修改单位号=“003”,条件为:职工号二”19620426”。

5、在VisualFoxPro中,下列关于SQL表定义语句(CREATETABLE)的说法中错

误的是

A、可以定义一个新的基本表结构

B、可以定义表中的主关键字

C、可以定义表的域完整性、字段有效性规则等

D、对自由表,同样可以实现其完整性、有效性规则等信息的设置

标准答案:D

知识点解析:可以用SQL表定义语句(CREATETABLE淀义表的基本结构,并可

以在语句中用PrimaryKey短语定义主关键字,用Check短语定义字段有效性规

则,自由表是不属于任何数据库的表,不能对自由表进行字段有效性的设置。

6、SQL命令:ALTERTABLESADD年龄ICHECK年龄>15AND年龄V30,该命

令的含义是

A、给数据库表S增加一个年龄”字段

B、将数据库表S中“年龄”字段取值范围修改为15至30岁之间

C、给数据库表S中“年龄”字段增加一个取值范围约束

D、删除数据库表S中的“年龄”字段

标准答案:A

知识点解析:本题考查ALTER命令的语法。给表新增一列的SQL命令格式为:

ALTERTABLE表名ADD(COLUMN)列名数据类型列级约束题中命令的含义是

给表S增加一个“年龄”字段,数据类型为整型,年龄的范围为15至30岁之间。

7、为“运动员”表增加一个字段“得分”的SQL语句是

A、CHANGETABLE运动员ADD得分1

B、ALTERDATA运动员ADD得分1

C、ALTERTABLE运动员ADD得分1

D、CHANGETABLE运动员INSERT得分1

标准答案:C

知识点解析:在SQL语句中为表增加字段的格式为:ALTERTABLEV表名,

ADDV字段名>,本题只有选项C)中包含ALTERTABLE命令关键字。

8、在SQL的ALTERTABLE语句中,为了增加一个新的字段应该使用短语

A、CREATE

B、APPEND

C>COLUMN

D、ADD

标准答案:D

知识点解析:选项A)是创建一个新的对象,例如一个表:选项B)用来向表中追加

记录,它是非SQL命令;在SQL的ALTERTABLE语句中,可以使用

ADD[COLUMN]短语来增加一个新的字段。其中,COLUMN短语表示“列”,可以

省略。

9、为“歌手”表增加一个字段“最后得分”的SQL语句是

A、ALTERTABLE歌手ADD最后得分F(6,2)

B、ALTERDBF歌手ADD最后得分F6,2

C、CHANGETABLE歌手ADD最后得分F(6,2)

D、CHANGETABLE歌手INSERT最后得分F6,2

标准答案:A

知识点解析:表结构的修改命令ALTERTABLE有三种格式。通过下列命令格式

可以添加(ADD)新的字段或修改(ALTER)已有的字段。ALERTTABLEV表名1>

ADDIALTER[COLUMN)字段名字段类型[(宽度[,小数位数])][NULLINOT

NULL][CHECK规则表达式[ERROR错误提示信息]][DEFAULT默认值表达

式][PRIMARYKEYIUNIQUE][REFERENCESV表名2>[TAG索弓I名]]

10、为“评分”表的“分数”字段添加有效性规则:“分数必须大于等于。并且小于等

于10”,正确的SQL语句是

A、CHANGETABLE评分ALTER分数SETCHECK分数>=0AND分数V=10

B、ALTERTABLE评分ALTER分数SETCHECK分数>=0AND分数V=10

C、ALTERTABLE评分ALTER分数CHECK分数>=0AND分数V=10

D、CHANGETABLE评分ALTER分数SETCHECK分数>=0OR分数V=IO

标准答案:B

知识点解析:表结构的修改命令ALTERTABLE有三种格式。通过下列命令格式

可以添加(ADD)新的字段或修改(ALTER)已有的字段。ALERTTABLEV表名1>

ADDIALTERICOLUMN]字段名字段类型[(宽度|,小数位数])|[NULLINOT

NULL][CHECK规则表达式[ERROR错误提示信息]][DEFAULT默认值表达

式][PRIMARYKEYIUNIQUE][REFERENCESV表名2>[TAG索引名]]

II、SQL语句中修改表结构的命令是

A、ALTERTABLE

B、MODIFYTABLE

C、ALTERSTRUCTURE

D、MODIFYSTRUCTURE

标准答案:A

知识点解析:SQL定义功能中,表结构修改的关键短语为ALTERTABLE,可直

接通过语句修改表结构;选项B)和C)都是错误的命令语句:而选项D)中需要先打

开表,然后通过MODIFYSTRUCTURE命令打开表设计器,修改当前表的结构。

12、根据“产品”表建立视图myview,视图中含有包括了“产品号”左边第一位是T

的所有记录,正确的SQL命令是

A、CREATEVIEWmyviewASSELECT*FROM产品WHERELEFT(产品号,

1)二T

B、CREATEVIEWmyviewASSELECT*FROM产品WHERELIKE("1",产品号)

C、CREATEVIEWmyviewSELECT*FROM产品WHERELEFT(产品号,1)="1"

D、CREATEVIEWmyviewSELECT*FROM产品WHERELIKE(“1",产品号)

标准答案:A

知识点解析:本题考查创建视图语句。其语法为;CREATEVIEW视图名称AS

SELECT列名称FROM表名称WHERE条件对于本题平说,视图名称为myview,

条件是“产品号''左边第一位是力''即LEFT(产品号,1)=T.

13、下列与修改表结构相关的命令是

A、INSERT

B、ALTER

C、UPDATE

D、CREATE

标准答案:B

知识点解析:INSERT是插入命令,UPDATE是更新命令,CREATE是仓4建表命

令,ALTER是用来修改表结构的命令。

14、假设有student表,可以正确添加字段“平均分数”的命令是

A、ALTERTABLEstudentADD平均分数F(6,2)

B、ALTERDBFstudentADD平均分数F6,2

C、CHANGETABLEstudentADD平均分数F(6,2)

D、CHANGETABLEstudentINSERT平均分数6,2

标准答案:A

知识点解析:向表中添加新字段的SQL语句格式为:ALTERTABLETableName

ADDFieldNamelFieldType[(nFieldWidth[,nPrccision])][NULLI

NOTNULL][CHECK...][ERROR....][DEFAULT....][PRIMARYKEYI

UNIQUE]〕REFRERENCEStablename2|TAGTagnamel]|

15、“教师表”中有“职工号”、“姓名”和“工龄”字段,其中“职工号”为主关键字,建

立“教师表”的SQL命令是

A、CREATETABLE教师表(职工号C(10)PRIMARY,姓名C(20),工龄I)

B、CREATETABLE教师表(职工号C(10)FOREIGN,姓名C(20),工龄I)

C、CREATETABLE教师表(职工号c(10)FOREIGNKEY,姓名C(20),工龄D)

D、CREATETABLE教师表(职工号C(IO)PRIMARYKEY,姓名C(20),工龄I)

标准答案:D

知识点解析:在VisualFoxPro中同样可以通过SQL命令建立数据表,命令格式如

下:CREATETABLEIDBFV表名I>[NAMEV长表名>][FREE](V字段名

<类型>[(V字段宽度>[,<小数位数>])=[NULLINOTNULL][CHECKV逻辑

表达式1>[ERRORV字符型文本信息1>]][DEFAULTV表达式1>][PRIMARY

KEYIUNIQUE][REFERENCESV表名2>|TAG<标识名1>]][NOCPTRANS][,

〈字段名2>…PRIMARYKEYV表达式2>TAG<标识名2>1,UNIQUE<

表达式3>TAGV标识名3>][,FOREIGNKEYV表达式4>TAGV标识名4>

|NODUP|REFERENCESV表名3>[TAGV标识名5>]||,CHECKV逻辑表达式2

>[ERRORV字符型文本信息2>]])FROMARRAYV数组名〉【说明】通过

CREATETABLE命令可以完成表设计器中的所有操作。下面对以上格式中的具体

选项进行介绍。TABLE和DBF选项等价,都是建立表文件。V表名,:为新建

表指定表名。NAME〈长表名〉:为新建表指定一个长表名。只有创建数据库表

时,才能指定一个长表名,长表名最多可以包含128个字符。FREE:建立的表是

自由表,不加入到打开的数据库中。V字段名V类型>[(<字段宽度>[,V小

数位数>])]:指定字段名、字段类型、字段宽度及小数位数。字段类型可以用一个

字符表示。NULL:允许该字段值为空;NOTNULL:字段值不能为空。缺省值为

NOTNULLoCHECKV逻辑表达式1>:指定字段的合法值及字段值的约束条

件。ERRORV字符型文本信息1>:输入的值不符合CHECK子句的合法值时,

显示的错误信息。DEFAULTV表达式〉:为字段指定一个缺省值,表达式的数据

类型与字段的数据类型要一致。PRIMARYKEY:为字段创建一个主索引:

UNIQUE:为字段创建一个候选索引。REFERENCES<表名>[TAG<标识名

>]:指定建立永久关系的父表,同时以指定字段为索引关键字建立外索引,用字

段名作为索引标识名。表名为父表表名,标识名为父表中的索引标识名。FROM

ARRAYV数组名〉:由数组创建表结构。数组名指定的数组包含表的每一个字段

的字段名、字段类型、字段宽度及小数位数。

16、SQL语句中删除表的命令是

A、DROPTABLE

B、ERASETABLE

C.DELETETABLE

D、DELETEDBF

标准答案:A

知识点解析:SQL语句中删除表的命令是:DROPTABLE<table_name>DROP

TABLE直接从磁盘上删除Vtable_name>所对应的.dbf文件。

17、创建一个表,使用的SQL命令是

A、CREATELIST

B、CREATEDATEBASE

C、CREATETABLE

D、CREATEINDEX

标准答案:C

知识点解析:本题考查创建表的命令CREATETABLE。其格式为CREATE

TABLEIDBFV表名〉(字段名1字段类型1[(字段宽度)],字段名2字段类型2[(字

段宽度)],…)[CHECKV条件表达式>][DEFAULT,〈表达式〉]“PRIMARY

KEYIUNIQUE]…)用CREATETABLE命令可以完成表设计器所能完成的所有功

能。除具有建立表的基本功能外,CREATETABLE命令还可以建立主关键字(主索

弓|)PRIMARYKEY、定义域完整性的CHECK约束、定义默认值的DEFAULT

等。

18、建立一个视图salary,该视图包括了系号和该系的平均工资两个字段,正确的

SQL语句是

A、CREATEVIEWsalaryAS系号,AVG(T资)AS平均工资FROM教师GROUP

BY系号

B、CREATEVIEWsalaiyASSELECT系号,AVG(工资)AS平均工资FROM教师

GROUPBY系名

C、CREATEVIEwsalarySELECT系号,AVG(工资)AS平均工资FROM教师

GROUPBY系号

D、CREATEVIEWsalaryASSELECT系号,AVG]工资)AS平均工资FROM教师

GROUPBY系号

标准答案:D

知识点解析:本题考查创建视图语句。创建视图的语法为:CREATEVIEW

vicw_nameASSELECTcolumn_name(s)FROMtable_nameWHEREcondition对于

本题来说,vicw_namc为salary,column_namc⑸中包括系号,AVG(工资),

table_name为教师。

19、创建一个视图,使用的SQL命令是

A、CREATE

B、CREATEDATEBASE

C、CREATEVIEW

D、CREATETABLE

标准答案:C

知识点解析:创建一个视图的SQL命令是CREATEVIEW,其格式为:CREATE

VIEWview_nameAS<selectiS^J><>其中Vselecl语句,可以是任意的SELECT

查询语句,它说明和限定了视图中的数据;视图的字段名将与〈select语句》中指

定的字段名或表中的字段名同名。

20、在SQL中,删除表的语句是

A、DROPTABLE

B、DROPVIEW

C、ERASETABLE

D、DELETETABLE

标准答案:A

知识点解析:在SQL中,删除表的语句是DROPTABLE格式为:DROPTABLE

<table_name>,DROPTABLE直接从磁盘上删除<lable_name>所对应的.dbf

文件。

21、表名为匕mployee的表结构是(职工号,姓名,工资),建立表Employee的SQL

命令是

A、CREATETABLEEmployee(职工号C(10),姓名C(20),工资Y)

B、CREATEEmployeeTABLE(职工号C(10),姓名C(20),工资Y)

C、CREATEDATABASEEmployee(职工号C(10),姓名C(20),工资Y)

D、CREATEEmployeeDATABASE(职工号C(10),姓名C(20),工资Y)

标准答案:A

知识点解析:本题考查sql建立表的命令。格式为:CREATETABLEIDBF(表

名〉(字段名1字段类型1[(字段宽度)],字段名2字段类型2[(字段宽度)],

|CHECK<条件表达式[DEFAULT,<表达式>]|PRIMARYKEYI

UNIQUE]...)用CREATETABLE命令可以完成表设计器所能完成的所有功能。除

具有建立表的基本功能外,CREATETABLE命令还可以建立主关键字(主索

引)PRIMARYKEY、定义域完整性的CHECK约束、定义默认值的DEFAULT

等。

22、为Employee表增加一个字段“出生日期”,正确的SQL语句是

A、CHANGETABLEEmployeeADD出生日期D

B、ALTERDBFEmployeeADD出生日期D

C、ALTERTABLEEmployeeADD出生日期D

D、CHANGETABLEEmployeeINSERT出生日期D

标准答案:A

知识点解析:本题考查SQL语句修改表结构。其格式为:ALTERTABLEV表名

>ADD[COLUMN[V字段名1>〈字段类型>[(<长度,V小数位数>])]

[NULLINOTNULL][CHECK(逻辑表达式1>[ERROR(字符型文本信息>]]

[DEFAULTV表达式1>][PRIMARYKEYIUNIQUE][ADDPRIMARYKEYV表

达式1>TAG<标识名1>[FORV逻辑表达式2>|]|ADDUNIQUEV表达式2>

[TAGV标识名2>[FORV逻辑表达式3>]]][ADDFOREIGNKEY[V表达式

3>][TAGV标识名4>]FORv逻辑表达式4>1REFERENCES表名2[TAGV标识名

4>]]该格式可以向表中添加新的字段、设设字段有效性规则、建立索引和建立表

间联系等。

23>有表名为Employee的表结构(职工号,姓名,工资),为表Employee增加字段

“住址”的SQL命令是

A、ALTERDBFEmployeeADD住J止C(30)

B、CHANGEDBFEmployeeADDC(30)

C、CHANGETABLEEmployeeADD住址C(30)

D、ALTERTABLEEmployeeADD住力上C(30)

标准答案:D

知识点解析:本题考查表结构的修改。格式为:ALTERTABLEV表名〉

ADD[COLUMN[(字段名1>〈字段类型〉[(<长度>[,<小数位数>])]

[NULLINOTNULL][CHECKV逻辑表达式1>[ERRORV字符型文本信息>口

[DEFAULTV表达式1>]|PRIMARYKEYIUNIQUE][ADDPRIMARYKEYV表

达式1>TAG<标识名I>[FORV逻辑表达式2>]][ADDUNIQUEV表达式2>

[TAGV标识名2>[FORV逻辑表达式3>]]][ADDFOREIGNKEY[V表达式3

>][TAGV标识名4>]|FORV逻辑表达式4>REFERENCES表名2[TAGV标识

名4>|]该格式可以向表中添加新的字段、设置字段有效性规则、建立索引和建立

表间联系等。

24、建立表Employee的视图Em_view,正确的SQL命令是

A、CREATEVIEWEmviewWHLIESELECT职工号,工资FROMEmployee

B、CREATEASEmviewV正WSELECT职工号,工资FROMEmployee

C、CREATEVIEWEmviewASSELECT职工号,工资FROMEmployee

D、CREATEVIEWEmviewSELECT职工号,工资FROMEmployee

标准答案:C

知识点解析:本题使用SOL命令创建视图。使用CREATEVIEW命令创建视图,

其语法为:CREATEVIEWview_nameASSELECTcolumn_name(s)FROM

lable_nameWHEREcondition

25、删除表Emtemp的SQL语句是

A、DROPTABLEEm_temp

B、DELETETABLEEm_temp

C、DROPFILEEm_tcmp

D、DELETEFILEEm_temp

标准答案:A

知识点解析:本题考查SQL语句删除表。格式DROPTABLEVtabljnamc〉。

DROPTABLE直接从磁盘上删除Vlable_name>所对应的.dbf文件。题目删除表

Em_tempo

26、SQL语句中删除视里的命令是

A、DROPTABLE

B、DROPVIEW

C、ERASETABLE

D、ERASEVIEW

标准答案:B

知识点解析:删除视图文件的命令格式是:DROPVIEWV视图文件名〉;建立视

图文件的命令式为:CREATEVIEW<视图文件名>。

国家二级VF机试(关系数据库标准语言

SQL)模拟试卷第3套

一、选择题(本题共27题,每题1.0分,共27分。)

1、设有学生表student(学号•,姓名,性别,出生日期,院系)、课程表course(课程

号,课程名,学时)和选课表score(学号,课程号,成绩),查询“计算机系”学生的

学号、姓名、学生所选课程的课程名和成绩,正确的命令是

A^SELECTs.学号,姓名,课程名,成绩FROMstudentS,scoresc,coursec;

WHEREs.学号=sc.学号,sc.课程号=c.课程号,院系一计算机系’

B、SELECT学号,姓名,课程名,成绩FROMsludents,scoresc,coursec;

WHEREs.学号=sc.学号ANDsc.课程号=c.课程号AND院系=,计算机系,

C、SELECTs.学号,姓名,课程名,成绩FROM(studcntSJOINscoresc;ON

s.学号=sc.学号)JOINcoursecONsc.课程号=c.课程号;

D、SELECT学号,姓名,课程名,成绩FROM(studentsJOINscoresc;ONs.学

号=5a学号)JOINcoursecONsc.课程号=c.课程号;WHERE院系='计算机

系,

标准答案:C

知识点解析:本题考查三个表之间的联接查询。在用SELECT语句进行联接查询,

要用JOIN关键字,ON关键字是两表进行联接的字段,对于本题来说,先以s.学

号=&c.学号进行学生表和选课表之间联接.再以课程号=c.课程号进行选

课表和课程表之间的联接。

2、设有学生表studeni(学号,姓名,性别,出生日期,院系)、课程表course(课程

号,课程名,学时)和选课表score(学号,课程号,成绩),查询所修课程成绩都大

于等于85分的学生的学号和姓名,正确的命令是

A、SELECT学号,姓名FROMstudentsWHERENOTEXISTS(SELECT*FROM

scoresc;WHEREsc.学号=s.学号AND成绩V85)

B、SELECT学号,姓名FROMstudentsWHERENOTEXISTS(SELECT次FROM

scoresc;WHEREsc.学号=s.学号AND成绩>=85)

C、SELECT学号,姓名FROMstudents,scorescWHEREs.学号=sc.学号

AND成绩>=85

D、SELECT学号,姓名FROMstudents,scorescWHEREs.学号=sc.学号

ANDALL成绩>=85

标准答案:A

知识点解析:本题考查SELECT语句中关键字EXISTS的应用。EXISTS是用来判

断子查询中是否有或没有结果返回,当EXISTS(查询)有返回时,则返回真,否则

返回假。NOTEXISTS则相反。EXISTS做为WHERE条件时,是先对WHERE前

的主查询进行查询,然后用主查询的结果一个一个的代入EXISTS的查询进行判

断,如果为真则输出当前这一条主查询的结果,否则不输出。选

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论