SQL测试题目.docx
- 文档编号:3798163
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:9
- 大小:20.75KB
SQL测试题目.docx
《SQL测试题目.docx》由会员分享,可在线阅读,更多相关《SQL测试题目.docx(9页珍藏版)》请在冰豆网上搜索。
SQL测试题目
一)有关数据冗余说法错误的是(C)。
(选择一项)
a)数据库中,数据存在副本的现象,就是数据冗余
b)通过分类存储,可以有效减少数据冗余,但是会增加数据查找的复杂性
c)在数据库设计阶段,一定要尽最大可能避免数据冗余,最好 做到无数据冗余。
d)数据冗余通常是由于数据库设计引起的。
2)假定有一个用户表,表中包含字段:
userid(int)、username(varchar)、password(varchar)、等,该表需要设置主键,以下说法正确的是(BC)。
(选择两项)
a)如果不能有同时重复的username和password,那么username和password可以组合在一起作为主键。
b)此表设计主键时,根据选择主键的最小性原则,最好采用userid作为主键。
c)此表设计主键时,根据选择主键的最小性原则,最好采用username和password作为组合键。
d)如果采用userid作为主键,那么在userid列输入的数值,允许为空。
3)关于数据完整性,以下说法正确的是(AD)。
(选择两项)
a)引用完整性通过主键和外键之间的引用关系实现。
b)引用完整性通过限制数据类型、检查约束等实现。
c)数据完整性是通过数据操纵者自身对数据的控制来实现的。
d)如果两个表中存储的信息相互关联,那么只要修改了一个表,另外一个表也要做出相应的修改,则称该这两个表中的数据具备完整性。
4)关于标识列,以下说法正确的是(B)。
(选择一项)
a)使用sql语句插入数据时,可以为标识列指定要插入的值。
b)设定标识时,必须同时指定标识种子和标识递增量。
c)若设定标识时,未指定标识递增量,那么使用sql语句插入数据时,可以为标识列指定递增值。
d)只能把主键设定为标识列。
5)现有表user,字段:
userid,username,salary,deptid,email;表department,字段:
deptid,deptname;下面(C)应采用检查约束来实现。
(选择一项)
a)若department中不存在deptid为2的纪录,则不允许在user表中插入deptid为2的数据行。
b)若user表中已经存在userid为10的记录,则不允许在user表中再次插入userid为10的数据行。
c)User表中的salary(薪水)值必须在1000元以上。
d)若User表的email列允许为空,则向user表中插入数据时,可以不输入email值。
6) 现有表book,主键bookid设为标识列。
若执行语句:
select*intobook2frombook,以下说法正确的是(AD)。
(选择两项)
a) 若数据库中已存在表book2,则会提示错误。
b) 若数据库中已存在表book2,则语句执行成功,并且表book2中的bookid自动设为标识。
c) 若数据库中不存在表book2,则语句执行成功,并且表book2中的bookid自动设为主键。
d) 若数据库中不存在表book2,则语句执行成功,并且表book2中的bookid自动设为标识。
7)MicrosoftSQLServer2000在安装的时候就创建的示例用户数据库包括(AC)。
(选择两项)
a)Pubs
b)Master
c)Northwind
d)Msdb
8)以下(B)语句从表TABLE_NAME中提取前10条记录。
(选择一项)
a)select*fromTABLE_NAMEwhererowcount=10
b)selectTOP10*fromTABLE_NAME
c)selectTOPof10*fromTABLE_NAME
d)select*fromTABLE_NAMEwhererowcount<=10
9)从“产品”表里查询出价格高于产品名称为“一次性纸杯”的产品的记录,此SQL语句为(A)。
(选择一项)
a)SELECT*FROM产品WHERE价格>‘一次性纸杯’;
b)SELECT*FROM产品WHERE价格>(SELECT*FROM产品WHERE产品名称>’一次性纸杯’);
c)SELECT*FROM产品WHEREEXISTS产品名称=’一次性纸杯’);
d)SELECT*FROM产品WHERE价格>(SELECT价格FROM产品WHERE产品名称=’一次性纸杯’);
10)查找student表中所有电话号码(列名:
telephone)的第一位为8或6,第三位为0的电话号码(C)。
(选择一项)
a)SELECTtelephoneFROMstudentWHEREtelephoneLIKE'[8,6]%0*'
b)SELECTtelephoneFROMstudentWHEREtelephoneLIKE'(8,6)*0%'
c)SELECTtelephoneFROMstudentWHEREtelephoneLIKE'[8,6]_0%'
d)SELECTtelephoneFROMstudentWHEREtelephoneLIKE'[8,6]_0*'
11)现有表book,字段:
id(int),title(varchar),price(float);其中id字段设为标识,使用insert语句向book表中插入数据,以下语句错误的是(B)。
(选择一项)
a)insertintobook(id,title,price)values(1,'java',100)
b)insertintobook(title,price)values('java',100)
c)insertintobookvalues('java',100)
d)insertbookvalues('java',100)
12)不可以启动和停止SQLServer2000服务的工具是(D)。
(选择一项)
二)a)SQLServer企业管理器
b)SQLServer服务管理器
c)Windows服务
d)SQLServer查询分析器
13)现有表Employee,字段:
id(int),firstname(varchar),lastname(varchar);以下sql语句错误的是(B)。
(选择一项)
a)selectfirstname+'.'+lastnameas'name'fromemployee
b)select firstname+'.'+lastname='name'fromemployee
c)select 'name'=firstname+'.'+lastname fromemployee
d)select firstname,lastnamefromemployee
14)在sqlserver2000中,关于数据库说法错误的是(C)。
(选择一项)
a)数据库在磁盘上默认的存储位置是:
SQLServer安装路径\MicrosoftSQLServer\MSSQL\Data
b)一个数据库至少应包含一个数据库文件(*.mdf)和一个事务日志文件(*.ldf)
c)只有当数据库中不存在数据的情况下,才可以进行数据库的收缩操作。
d)可以通过从A机器拷贝数据库文件和事务日志文件至B机器,然后通过在B机器上执行相应的附加数据库操作,实现数据库从A机器到B机器的复制。
15)若要删除book表中所有数据,以下语句错误的是(C)。
(选择两项)
a)truncatetablebook
b)delete*frombook
c)droptablebook
d)delete frombook
16)学生成绩表grade中有字段score(float),现在要把所有在55分至60之间的分数提高5分,以下sql语句正确的是(BC)。
(选择两项)
a)Updategradesetscore=score+5
b)Updategradesetscore=score+5wherescore>=55orscore<=60
c)Updategradesetscore=score+5wherescorebetween55and60
d)Updategradesetscore=score+5wherescore>=55andscore<=60
17)现有书目表book,包含字段:
price(float);现在查询一条书价最高的书目的详细信息,以下语句正确的是(BC)。
(选择两项)
a)selecttop1*frombookorderbypriceasc
b)selecttop1*frombookorderbypricedesc
c)selecttop1*frombookwhereprice=(selectmax(price)frombook)
d)selecttop1*frombookwhereprice=max(price)
18)Sqlserver提供了一些字符串函数,以下说法错误的是(B)。
(选择一项)
a)selectright('hello',3)返回值为:
hel
b)selectltrim(rtrim('hello'))返回值为:
hello(前后都无空格)
c)selectreplace('hello','e','o')返回值为:
hollo
d)selectlen('hello')返回值为:
5
19)现有书目表book,包含字段:
价格price(float),类别type(char);现在查询各个类别的平均价格、类别名称,以下语句正确的是(C)。
(选择一项)
a)selectavg(price),typefrombookgroupbytype
b)selectcount(price),typefrombookgroupbyprice
c)selectavg(price),typefrombookgroupbyprice
d)selectcount(price),typefrombookgroupbytype
20)若student表中包含主键sudentid,则执行语句:
updatestudentsetstudentid=100wherestudentid=101,结果可能是(DC)。
(选择两项)
a)错误提示:
主键列不能更新。
b)更新了一条数据。
c)错误提示:
违反主键约束。
d)既不提示错误,也不更新数据。
三)26) 关于聚合函数,以下说法错误的是(C)。
(选择一项)
a) Sum返回表达式中所有数的总合,因此只能用于数字类型的列。
b) Avg返回表达式中所有数的平均值,可以用于数字型和日期型的列。
c) Max和Min可以用于字符型的列。
d) Count可以用于字符型的列。
27) 使用Sqlserver提供的(B),可以创建数据库。
(选择一项)
a) 查询分析器
b) 企业管理器
c) 服务管理器
d) 事件探查器
28) 现有顾客表customers,包含数据如下表,若执行sql语句:
selectcount(distinct(city))fromcustomers,以下(c)是输出结果。
(选择一项)0
cid cname city
1 jack null
2 lee beijing
3 tom
4 chen beijing
a) 1
b) 2
c) 3
d) 4
29) 现有顾客表customers,包含数据如下表,若执行sql语句:
selectavg(discount)fromcustomers,以下(D)是输出结果。
(选择一项)
cid cname discount
1 jack null
2 lee 8
3 tom 7
4 chen 1
a) 错误提示:
不能对null进行avg操作
b) 16
c) 8
d) 4
30) Sqlserver提供了一些日期函数,以下说法错误的是(d)。
(选择两项)
a) selectdateadd(mm,4,’01/01/99’)返回值为:
05/01/99
b) selectdatediff(mm,'03/06/2003','03/09/2003')返回值为:
3
c) selectdatepart(day,'03/06/2003')返回值为:
6
d) selectdatename(dw,'03/06/2003')返回值为:
6
31) 现有书目表book,数据见下表。
现在执行sql语句:
updatebooksettitle=replace(replace(title,'j','a'),'servlet','csharp'),执行结果是(A)。
(选择一项)
bookid title
1 jsp&servlet
2 jsp
3 Professionalservlet
4 asp
a) 更新了3条记录
b) 更新了2条记录
c) 更新了1条记录
d) 该sql语句有错误,无法执行
32) 现有订单表orders,包含数据如下表。
若查询既订购了产品P01,又订购了产品P02的顾客编号,可以执行以下(cd)sql语句。
(选择两项)
cid(顾客编号) Pid(产品编号)
C01 P01
C01 P02
C02 P01
C03 P02
a) selectdistinct(cid)fromorderso1whereo1.pidin('p01','p02')
b) selectdistinct(cid)fromorderso1,orderso2whereo1.pid='p01'ando2.pid='p02'ando1.cid=o2.cid
c) selectdistinct(cid)fromorderso1wherepid='p01'andcidin(selectcidfromorderswherepid='p02')
d) selectdistinct(cid)fromorderso1,orderso2whereo1.pid='p01'ando2.pid='p02'
33) 使用以下(A)不可以进行模糊查询。
(选择一项)
a) OR
b) Notbetween
c) NotIN
d) Like
34) 关于分组查询,以下(bd)描述是错误的。
(选择两项)
a) 使用groupby进行分组查询
b) 对分组后的条件的筛选必须使用Having子句
c) Having子句不能与where子句同时出现在一个select语句中
d) 在使用分组查询时,在select列表中只能出现被分组的列。
如:
selectcourseidfromgradegroupbycourseid.
35) 关于多表联接查询,以下(b)描述是错误的。
(选择一项)
a) 外联接查询返回的结果集行数可能大于所有符合联接条件的结果集行数。
b) 多表联接查询必须使用到JOIN关键字
c) 内联接查询返回的结果是:
所有符合联接条件的数据。
d) 在where子句中指定联接条件可以实现内联接查询。
36) Sql语句:
select*fromstudentswhereSNOlike‘010[^0]%[A,B,C]%’,可能会查询出的SNO是(ad)。
(选择两项)
a) 01053090A
b) 01003090A01
c) 01053090D09
d) 0101A01
37) 关于Truncatetable,以下(ad)描述是错误的。
(选择两项)
a) Truncatetable可跟Where从句,根据条件进行删除。
b) Truncatetable用来删除表中所有数据。
c) 触发器对Truncatetable无效。
d) delete比Truncatetable速度快。
38) 以下(c)说明了代码:
not(付款方式=’信用卡’)or(信用卡<>’阳光卡’)的含义。
(选择一项)
a) 付款方式不能是信用卡。
b) 付款方式不能是信用卡,或者信用卡是阳光卡。
c) 如果付款方式是信用卡,那么信用卡不能是阳光卡。
d) 付款方式是信用卡,并且信用卡不能是阳光卡。
39) 执行Sql语句:
select*,score*0.5+20as加权成绩fromgradewhere(score*0.5+20)<60orderbyscore*0.5+20,以下(c)描述是正确的。
(选择一项)
a) 错误提示:
orderby子句中不能出现表达式。
b) 正确执行,显示grade表中各列值,按照score由低到高排序。
c) 正确执行,显示grade表中各列值,以及加权成绩列,按照score由低到高排序。
d) 错误提示:
where子句中不能出现表达式。
40) 创建一个名为‘Customers’的新表,同时要求新表中包含表‘clients’的所有记录,sql语句是(a)。
(选择一项)
a) Select*intocustomersfromclients
b) Select intocustomersfromclients
c) Insertintocustomersselect*fromclients
d) Insertcustomersselect*fromclients
41) 关于主键,以下(bd)说法是错误的。
(选择两项)
a) 主键可以用来确保表中不存在重复的数据行。
b) 一个表必须有一个主键。
c) 一个表只能有一个主键。
d) 只能对整数型列设置主键。
42) 表book中包含三个字段:
title(varchar),author(varchar),price(float)。
Author的默认值是’UNKNOW’,执行sql语句:
insertbook(title,price)values(‘jsp’,50)。
以下结果正确的是(b)。
(选择一项)
a) 插入失败,sql语句有错
b) 插入成功,author列的数据是UNKNOW
c) 插入成功,author列的数据是NULL
d) 插入成功,author列的数据是50
43) 关于sqlserver常用的数据类型,以下(c)说法是错误的。
(选择一项)
a) Image数据类型可以用来存储图像。
b) 使用字符数据类型时,可以改变长度信息。
c) 使用数字数据类型时,可以改变长度信息。
d) Bit数据类型
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL 测试 题目