SQL测试题目Word下载.docx
《SQL测试题目Word下载.docx》由会员分享,可在线阅读,更多相关《SQL测试题目Word下载.docx(9页珍藏版)》请在冰豆网上搜索。
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('
c)insertintobookvalues('
d)insertbookvalues('
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='
c)select
'
=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<
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('
'
e'
o'
)返回值为:
hollo
d)selectlen('
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),可以创建数据库。
查询分析器
企业管理器
服务管理器
事件探查器
28)
现有顾客表customers,包含数据如下表,若执行sql语句:
selectcount(distinct(city))fromcustomers,以下(c)是输出结果。
(选择一项)0
cid
cname
city
1
jack
null
2
lee
beijing
3
tom
4
chen
1
2
3
4
29)
selectavg(discount)fromcustomers,以下(D)是输出结果。
discount
8
7
错误提示:
不能对null进行avg操作
16
30)
Sqlserver提供了一些日期函数,以下说法错误的是(d)。
selectdateadd(mm,4,’01/01/99’)返回值为:
05/01/99
selectdatediff(mm,'
03/06/2003'
03/09/2003'
selectdatepart(day,'
6
selectdatename(dw,'
31)
现有书目表book,数据见下表。
现在执行sql语句:
updatebooksettitle=replace(replace(title,'
j'
a'
),'
servlet'
csharp'
),执行结果是(A)。
bookid
title
jsp&
servlet
jsp
Professionalservlet
asp
更新了3条记录
更新了2条记录
更新了1条记录
该sql语句有错误,无法执行
32)
现有订单表orders,包含数据如下表。
若查询既订购了产品P01,又订购了产品P02的顾客编号,可以执行以下(cd)sql语句。
cid(顾客编号)
Pid(产品编号)
C01
P01
P02
C02
C03
selectdistinct(cid)fromorderso1whereo1.pidin('
p01'
p02'
)
selectdistinct(cid)fromorderso1,orderso2whereo1.pid='
ando2.pid='
ando1.cid=o2.cid
selectdistinct(cid)fromorderso1wherepid='
andcidin(selectcidfromorderswherepid='
33)
使用以下(A)不可以进行模糊查询。
OR
Notbetween
NotIN
Like
34)
关于分组查询,以下(bd)描述是错误的。
使用groupby进行分组查询
对分组后的条件的筛选必须使用Having子句
Having子句不能与where子句同时出现在一个select语句中
在使用分组查询时,在select列表中只能出现被分组的列。
如:
selectcourseidfromgradegroupbycourseid.
35)
关于多表联接查询,以下(b)描述是错误的。
外联接查询返回的结果集行数可能大于所有符合联接条件的结果集行数。
多表联接查询必须使用到JOIN关键字
内联接查询返回的结果是:
所有符合联接条件的数据。
在where子句中指定联接条件可以实现内联接查询。
36)
Sql语句:
select*fromstudentswhereSNOlike‘010[^0]%[A,B,C]%’,可能会查询出的SNO是(ad)。
01053090A
01003090A01
01053090D09
0101A01
37)
关于Truncatetable,以下(ad)描述是错误的。
Truncatetable可跟Where从句,根据条件进行删除。
Truncatetable用来删除表中所有数据。
触发器对Truncatetable无效。
delete比Truncatetable速度快。
38)
以下(c)说明了代码:
not(付款方式=’信用卡’)or(信用卡<
>
’阳光卡’)的含义。
付款方式不能是信用卡。
付款方式不能是信用卡,或者信用卡是阳光卡。
如果付款方式是信用卡,那么信用卡不能是阳光卡。
付款方式是信用卡,并且信用卡不能是阳光卡。
39)
执行Sql语句:
select*,score*0.5+20as加权成绩fromgradewhere(score*0.5+20)<
60orderbyscore*0.5+20,以下(c)描述是正确的。
orderby子句中不能出现表达式。
正确执行,显示grade表中各列值,按照score由低到高排序。
正确执行,显示grade表中各列值,以及加权成绩列,按照score由低到高排序。
where子句中不能出现表达式。
40)
创建一个名为‘Customers’的新表,同时要求新表中包含表‘clients’的所有记录,sql语句是(a)。
Select*intocustomersfromclients
Select
intocustomersfromclients
Insertintocustomersselect*fromclients
Insertcustomersselect*fromclients
41)
关于主键,以下(bd)说法是错误的。
主键可以用来确保表中不存在重复的数据行。
一个表必须有一个主键。
一个表只能有一个主键。
只能对整数型列设置主键。
42)
表book中包含三个字段:
title(varchar),author(varchar),price(float)。
Author的默认值是’UNKNOW’,执行sql语句:
insertbook(title,price)values(‘jsp’,50)。
以下结果正确的是(b)。
插入失败,sql语句有错
插入成功,author列的数据是UNKNOW
插入成功,author列的数据是NULL
插入成功,author列的数据是50
43)
关于sqlserver常用的数据类型,以下(c)说法是错误的。
Image数据类型可以用来存储图像。
使用字符数据类型时,可以改变长度信息。
使用数字数据类型时,可以改变长度信息。
Bit数据类型