第4章关系数据库标准语言SQL真题及解析.docx

上传人:b****8 文档编号:9024555 上传时间:2023-05-16 格式:DOCX 页数:78 大小:68.18KB
下载 相关 举报
第4章关系数据库标准语言SQL真题及解析.docx_第1页
第1页 / 共78页
第4章关系数据库标准语言SQL真题及解析.docx_第2页
第2页 / 共78页
第4章关系数据库标准语言SQL真题及解析.docx_第3页
第3页 / 共78页
第4章关系数据库标准语言SQL真题及解析.docx_第4页
第4页 / 共78页
第4章关系数据库标准语言SQL真题及解析.docx_第5页
第5页 / 共78页
第4章关系数据库标准语言SQL真题及解析.docx_第6页
第6页 / 共78页
第4章关系数据库标准语言SQL真题及解析.docx_第7页
第7页 / 共78页
第4章关系数据库标准语言SQL真题及解析.docx_第8页
第8页 / 共78页
第4章关系数据库标准语言SQL真题及解析.docx_第9页
第9页 / 共78页
第4章关系数据库标准语言SQL真题及解析.docx_第10页
第10页 / 共78页
第4章关系数据库标准语言SQL真题及解析.docx_第11页
第11页 / 共78页
第4章关系数据库标准语言SQL真题及解析.docx_第12页
第12页 / 共78页
第4章关系数据库标准语言SQL真题及解析.docx_第13页
第13页 / 共78页
第4章关系数据库标准语言SQL真题及解析.docx_第14页
第14页 / 共78页
第4章关系数据库标准语言SQL真题及解析.docx_第15页
第15页 / 共78页
第4章关系数据库标准语言SQL真题及解析.docx_第16页
第16页 / 共78页
第4章关系数据库标准语言SQL真题及解析.docx_第17页
第17页 / 共78页
第4章关系数据库标准语言SQL真题及解析.docx_第18页
第18页 / 共78页
第4章关系数据库标准语言SQL真题及解析.docx_第19页
第19页 / 共78页
第4章关系数据库标准语言SQL真题及解析.docx_第20页
第20页 / 共78页
亲,该文档总共78页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

第4章关系数据库标准语言SQL真题及解析.docx

《第4章关系数据库标准语言SQL真题及解析.docx》由会员分享,可在线阅读,更多相关《第4章关系数据库标准语言SQL真题及解析.docx(78页珍藏版)》请在冰点文库上搜索。

第4章关系数据库标准语言SQL真题及解析.docx

第4章关系数据库标准语言SQL真题及解析

第四章关系数据库标准语言SQL1

4.12005年笔试真题1

4.22006年笔试真题6

4.32007年笔试真题10

4.42008年笔试真题14

4.52009年笔试真题17

4.62010年笔试真题21

4.72011年笔试真题24

第四章关系数据库标准语言SQL29

4.12005年笔试真题解析29

4.22006年笔试真题解析31

4.32007年笔试真题解析38

4.42008年笔试真题解析42

4.52009年笔试真题解析45

4.62010年笔试真题解析48

4.72011年笔试真题解析50

第四章关系数据库标准语言SQL

4.12005年笔试真题

(1)在VisualFoxPro中,下列关于删除记录的描述中正确的是()[2005年4月选择题17]

A)SQL的DELETE命令在删除数据库表中的记录之前,不需要用USE命令打开表

B)SQL的DELETE命令和传统VisualFoxPro的DELETE命令在删除数据库表中的记录之前,都需要用USE命令打开表

C)SQL的DELETE命令可以物理地删除数据库表中的记录,而传统VisualFoxPro的DELETE命令只能逻辑删除数据库表中的记录

D)传统VisualFoxPro的DELETE命令在删除数据库表中的记录之前不需要用USE命令打开表

(2)使用SQL语句将学生表S中年龄(AGE)大于30岁的记录删除,正确的命令是()2005年4月选择题24]

A)DELETEFORAGE>30B)DELETEFROMSWHEREAGE>30

C)DELETESFORAGE>30D)DELETESWHEREAGE>30

(3)在VisualFoxPro中,删除数据库表S的SQL命令是()[2005年4月选择题26]

A)DROPTABLESB)DELETETABLES

C)DELETETABLES.DBFD)DRASETABLES

(4)使用SQL语句向学生表S(SNO,SN,AGE,SEX)中添加一条新记录,字段学号(SNO)、姓名(SN)、性别(SEX)、年龄(AGE)的值分别为0401、王芳、女、18,正确命令是()[2005年4月选择题28]

A)APPENDINTOS(SNO,SN,SEX,AGE)VALUES('0401','王芳','女',18)

B)APPENDSVALUES('0401','王芳',18,'女')

C)INSERTINTOS(SNO,SN,SEX,AGE)VALUES('0401','王芳','女',18)

D)INSERTSVALUES('0401','王芳',18,'女')

(5)在SQL的SELECT查询结果中,消除重复记录的方法是()[2005年4月选择题30]

A)通过指定主关键字B)通过指定惟一索引

C)使用DISTINCT子句D)使用HAVING子句

(6)在VisualFoxPro中,以下关于SQL的SELECT语句的描述中错误的是()[2005年4月选择题31]

A)SELECT子句中可以包含表中的列和表达式

B)SELECT子句中可以使用别名

C)SELECT子句规定了结果集中的列顺序

D)SELECT子句中列的顺序应该与表中列的顺序一致

(7)下列关于SQL的HAVING子句的描述中错误的是()[2005年4月选择题32]

A)HAVING子句必须与GROUPBY子句同时使用

B)HAVING子句与GROUPBY子句无关

C)使用WHERE子句的同时可以使用HAVING子句

D)使用HAVING子句的作用是限定分组的条件

(8)使用如下三个数据库表:

学生表:

S(学号,姓名,性别,出生日期,院系)

课程表:

C(课程号,课程名,学时)

选课成绩表:

SC(学号,课程号,成绩)

在上述表中,出生日期数据类型为日期型,学时和成绩为数值型,其他均为字符型。

[2005年4月选择题34]用SQL语句查询选修的每门课程的成绩都高于或等于85分的学生的学号和姓名,正确的命令是()

A)SELECT学号,姓名FROMSWHERENOTEXISTS;

(SELECT*FROMSCWHERESC.学号=S.学号AND成绩<85)

B)SELECT学号,姓名FROMSWHERENOTEXISTS;

(SELECT*FROMSCWHERESC.学号=S.学号AND成绩>=85)

C)SELECT学号,姓名FROMS,SC

WHERES.学号=SC.学号AND成绩>=85

D)SELECT学号,姓名FROMS,SC

WHERES.学号=SC.学号ANDALL成绩>=85

[2005年4月选择题35]用SQL语句检索选修课程在5门以上(含5门)的学生的学号、姓名和平均成绩,并按平均成绩降序排序,正确的命令是()

A)SELECTS.学号,姓名,平均成绩FROMS,SC;

WHERES.学号=SC.学号;

GROUPBYS.学号HAVINGCOUNT(*)>=5ORDERBY平均成绩DESC

B)SELECT学号,姓名,AVG(成绩)FROMS,SC;

WHERES.学号=SC.学号ANDCOUNT(*)>=5;

GROUPBY学号ORDERBY3DESC

C)SELECTS.学号,姓名(成绩)平均成绩FROMS,SC;

WHERES.学号=SC.学号ANDCOUNT(*)>=5;

GROUPBYS.学号ORDERBY平均成绩DESC

D)SELECTS.学号,姓名,AVG(成绩)平均成绩FROMS,.SC;

WHERES.学号=SC.学号;

GROUPBYS.学号HAVINGCOUNT(*)>=5ORDERBY3DESC

(9)使用如下三个数据库表:

金牌榜.dbf:

国家代码C(3),金牌数I,银牌数I,铜牌数I

获奖牌情况.dbf:

国家代码C(3),运动员名称C(20),项目名称C(30),名次I

国家.dbf:

国家代码C(3),国家名称C(20)

"金牌榜"表中一个国家一条记录;"获奖牌情况"表中每个项目中的各个名次都有一条记录,名次只取前3名,例如:

国家代码

运动员名称

项目名称

名次

001

刘翔

男子110米栏

1

001

李小鹏

男子双杠

3

002

菲尔普斯

游泳男子200米自由泳

3

002

菲尔普斯

游泳男子400米个人混合泳

1

001

郭晶晶

女子三米板跳板

1

001

李婷/孙甜甜

网球女子双打

1

[2005年4月填空题11]为表"金牌榜"增加一个字段"奖牌总数",同时为该字段设置有效性规则:

奖牌总数>=0,应使用SQL语句:

ALTERTABLE金牌榜奖牌总数I奖牌总数>=0。

[2005年4月填空题12]使用"获奖牌情况"和"国家"两个表查询"中国"所获金牌(名次为1)的数量,应使用SQL语句:

SELECTCOUNT(*)FROM国家INNERJOIN获奖牌情况;

国家.国家代码=获奖牌情况.国家代码;

WHERE国家.国家名称="中国"AND名次=1

[2005年4月填空题13]将金牌榜.dbf中的新增加的字段奖牌总数设置为金牌数、银牌数、铜牌数三项的和,应使用SQL语句:

金牌榜奖牌总数=金牌数+银牌数+铜牌数

(10)使用如下三个数据库表:

职员.dbf:

职员号C(3),姓名C(6),性别C

(2),组号N

(1),职务C(10)

客户.dbf:

客户号C(4),客户名C(36),地址C(36),所在城市C(36)

订单.dbf:

订单号C(4),客户名C(4),职员号C(3),签订日期D,金额N(6.2)

[2005年9月选择题29]查询金额最大的10%订单的信息,正确的SQL语句是()

A)SELECT*TOP10PERCENTFROM订单

B)SELECTTOP10%*FROM订单ORDERBY金额

C)SELECT*TOP10PERCENTFROM订单ORDERBY金额

D)SELECTTOP10PERCENT*FROM订单ORDERBY金额DESC

[2005年9月选择题30]查询订单数在3个以上、订单的平均金额在200元以上的职员号,正确的SQL语句是()

A)SELECT职员号FROM订单GROUPBY职员号HAVINGCOUNT(*)>3ANDAVG_金额>200

B)SELECT职员号FROM订单GROUPBY职员号HAVINGCOUNT(*)>3ANDAVG(金额)>200

C)SELECT职员号FROM订单GROUPBY职员号HAVINGCOUNT(*)>3ANDWHEREAVG(金额)>200

D)SELECT职员号FROM订单GROUPBY职员号WHERECOUNT(*)>3ANDAVG_金额>200

[2005年9月选择题31]查询2005年1月1日后签订的订单,显示订单的订单号、客户名以及签订日期,正确的SQL语句是()

A)SELECT订单号,客户名,签订日期FROM订单JOIN客户;

ON订单.客户号=客户.客户号WHERE签订日期>{^2005-1-1}

B)SELECT订单号,客户名,签订日期FROM订单JOIN客户;

WHERE订单.客户号=客户.客户号AND签订日期>{^2005-1-1}

C)SELECT订单号,客户名,签订日期FROM订单,客户;

WHERE订单.客户号=客户.客户号AND签订日期<{^2005-1-1}

D)SELECT订单号,客户名,签订日期FROM订单,客户;

ON订单.客户号=客户.客户号AND签订日期<{^2005-1-1}

[2005年9月选择题32]查询没有签订任何订单的职员信息(职员号和姓名),正确的SQL语句是()

A)SELECT职员.职员号,姓名FROM职员JOIN订单;

ON订单.职员号=职员.职员号GROUPBY职员.职员号HAVINGCOUNT(*)=0

B)SELECT职员.职员号,姓名FROM职员LEFTJOIN订单;

ON订单.职员号=职员.职员号GROUPBY职员.职员号HAVINGCOUNT(*)=0

C)SELECT职员号,姓名FROM职员;

WHERE职员号NOTIN(SELECT职员号FROM订单)

D)SELECT职员.职员号,姓名FROM职员;

WHERE职员.职员号<>(SELECT订单.职员号FROM订单)

[2005年9月选择题33]有如下SQL语句:

SELECT订单号,签订日期,金额FROM订单,职员;

WHERE订单.职员号=职员.职员号AND姓名="李二"

与如上语句功能相同的SQL语句是()

A)SELECT订单号,签订日期,金额FROM订单;

WHEREEXISTS(SELECT*FROM职员WHERE姓名="李二")

B)SELECT订单号,签订日期,金额FROM订单WHERE;

EXISTS(SELECT*FROM职员WHERE职员号=订单.职员号AND姓名="李二")

C)SELECT订单号,签订日期,金额FROM订单;

WHEREIN(SELECT职员号FROM职员WHERE姓名="李二")

D)SELECT订单号,签订日期,金额FROM订单WHEREIN;

(SELECT职员号FROM职员WHERE职员号=订单.职员号AND姓名="李二")

[2005年9月选择题34]从订单表中删除客户号为"1001"的订单记录,正确的SQL语句是()

A)DROPFROM订单WHERE客户号="1001"

B)DROPFROM订单FOR客户号="1001"

C)DELETEFROM订单WHERE客户号="1001"

D)DELETEFROM订单FOR客户号="1001"

[2005年9月选择题35]将订单号为"0060"的订单金额改为169元,正确的SQL语句是()

A)UPDATE订单SET金额=169WHERE订单号="0060"

B)UPDATE订单SET金额WITH169WHERE订单号="0060"

C)UPDATEFROM订单SET金额=169WHERE订单号="0060"

D)UPDATEFROM订单SET金额WITH169WHERE订单号="0060"

(11)在SQL的SELECT查询中使用子句消除查询结果中的重复记录。

[2005年9月填空题9]

(12)在VisualFoxPro中,使用SQL的SELECT语句将查询结果存储在一个临时表中,应该使用子句。

[2005年9月填空题11]

(13)在VisualFoxPro中,使用SQL的CREATETABLE语句建立数据库表时,使用子句说明主索引。

[2005年9月填空题12]

(14)在VisualFoxPro中,使用SQL的CREATETABLE语句建立数据库表时,使用子句说明有效性规则(域完整性规则或字段取值范围)。

[2005年9月填空题13]

(15)在SQL的SELECT语句进行分组计算查询时,可以使用子句来去掉不满足条件的分组。

[2005年9月填空题14]

(16)设有s(学号,姓名,性别)和sc(学号,课程号,成绩)两个表,下面SQL的SELECT语句检索选修的每门课程的成绩都高于或等于85分的学生的学号、姓名和性别。

[2005年9月填空题15]

SELECT学号,姓名,性别FROMs;

WHERE(SELECT*FROMscWHEREsc.学号=s.学号AND成绩<85)

4.22006年笔试真题

(1)SQL的数据操作语句不包括()[2006年4月选择题22]

A)INSERTB)UPDATE

C)DELETED)CHANGE

(2)"图书"表中有字符型字段"图书号",要求用SQLDELETE命令将图书号以字母A开头的图书记录全部打上删除标记,正确的命令是()[2006年4月选择题25]

A)DELETEFROM图书FOR图书号LIKE"A%"

B)DELETEFROM图书WHILE图书号LIKE"A%"

C)DELETEFROM图书WHERE图书号="A*"

D)DELETEFROM图书WHERE图书号LIKE"A%"

(3)SQL语句中修改表结构的命令是()[2006年4月选择题29]

A)ALTERTABLEB)MODIFYTABLE

C)ALTERSTRUCTURED)MODIFYSTRUCTURE

(4)假设"订单"表中有订单号、职员号、客户号和金额字段,正确的SQL语句只能是()[2006年4月选择题30]

A)SELECT职员号FROM订单;

GROUPBY职员号HAVINGCOUNT(*)>3ANDAVG_金额>200

B)SELECT职员号FROM订单;

GROUPBY职员号HAVINGCOUNT(*)>3ANDAVG(金额)>200

C)SELECT职员号FROM订单;

GROUPBY职员号HAVINGCOUNT(*)>3WHEREAVG(金额)>200

D)SELECT职员号FROM订单;

GROUPBY职员号WHERECOUNT(*)>3ANDAVG_金额>200

(5)要使"产品"表中所有产品的单价上浮8%,正确的SQL语句是()[2006年4月选择题31]

A)UPDATE产品SET单价=单价+单价*8%FORALL

B)UPDATE产品SET单价=单价*1.08FORALL

C)UPDATE产品SET单价=单价+单价*8%

D)UPDATE产品SET单价=单价*1.08

(6)假设同一名称的产品有不同的型号和产地,则计算每种产品平均单价的SQL语句是()[2006年4月选择题32]

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

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

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

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

(7)设有S(学号,姓名,性别)和SC(学号,课程号,成绩)两个表,用下列SQL语句检索选修的每门课程的成绩都高于或等于85分的学生的学号、姓名和性别,正确的是()[2006年4月选择题34]

A)SELECT学号,姓名,性别FROMsWHEREEXISTS;

(SELECT*FROMscWHEREsc.学号=s.学号AND成绩<=85)

B)SELECT学号,姓名,性别FROMsWHERENOTEXISTS;

(SELECT*FROMscWHEREsc.学号=s.学号AND成绩<=85)

C)SELECT学号,姓名,性别FROMsWHEREEXISTS;

(SELECT*FROMscWHEREsc.学号=s.学号AND成绩>85)

D)SELECT学号,姓名,性别FROMsWHERENOTEXISTS;

(SELECT*FROMscWHEREsc.学号=s.学号AND成绩<85)

(8)从"订单"表中删除签订日期为2004年1月10日之前(含)的订单记录,正确的SQL语句是()[2006年4月选择题35]

A)DROPFROM订单WHERE签订日期<={^2004-1-10}

B)DROPFROM订单FOR签订日期<={^2004-1-10}

C)DELETEFROM订单WHERE签订日期<={^2004-1-10}

D)DELETEFROM订单FOR签订日期<={^2004-1-10}

(9)SQL支持集合的并运算,运算符是。

[2006年4月选填空题11]

(10)SQLSELECT语句的功能是。

[2006年4月选填空题12]

(11)"职工"表有工资字段,计算工资合计的SQL语句是:

SELECTFROM职工[2006年4月选填空题13]

(12)要在"成绩"表中插入一条记录,应该使用的SQL语句是:

[2006年4月选填空题14]

成绩(学号,英语,数学,语文)VALUES("2001100111",91,78,86)

(13)在SQLSELECT语句的ORDERBY短语中如果指定了多个字段,则[2006年9月选择题19]

A)无法进行排序B)只按第一个字段排序

C)按从左至右优先依次排序D)按字段排序优先级依次排序

(14)25~33题使用的数据表如下:

当前盘当前目录下有数据库:

大奖赛.dbc,其中有数据表“歌手.dbf”、“评分.dbf”。

“歌手”表:

歌手号

姓名

1001

王蓉

2001

许巍

3001

周杰伦

4001

林俊杰

[2006年9月选择题25]为“歌手”表增加一个字段“最后得分”的SQL语句是()

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

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

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

D)CHANGETABLE学院INSERT最后得分F6,2

[2006年9月选择题26]插入一条记录到“评分”表中,歌手号、分数和评委会分别是“1001”、9.9和“105”,正确的SQL语句是()

A)INSERTVALUES("1001",9.9,"105")INTO评分(歌手号,分数,评委号)

B)INSERTTO评分(歌手号,分数,评委号)VALUES("1001",9.9,"105")

C)INSERTINTO评分(歌手号,分数,评委号)VALUES("1001",9.9,"105")

D)INSERTVALUES("1001",9.9,"105")TO评分(歌手号,分数,评委号)

[2006年9月选择题27]假设每个歌手的“最后得分”的计算方法是:

去掉一个最高分和一个最低分,取剩下分数的平均分。

根据“评分”表求每个歌手的“最后得分”并存储于表TEMP中,表TEMP中有两个字段:

“歌手号”和“最后得分”,并且按最后得分降序排列,生成表TEMP的SQL语句是:

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

FROM评分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

[2006年9月选择题28]与“SELECT*FROM歌手WHERENOT(最后得分>9.00)OR最后得分<8.00)”等价的语句是()

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

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

C)SELECT*FROM歌手WHERE最后得分>9.00OR最后得分<8.00

D)SELECT*FROM歌手WHERE最后得分<=8.00AND最后得分>=9.00

[2006年9月选择题29]为“评分”表的“分数”字段添加有效性规则:

“分数

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2