SQLserver练习题.docx

上传人:b****4 文档编号:5929538 上传时间:2023-05-09 格式:DOCX 页数:51 大小:32.99KB
下载 相关 举报
SQLserver练习题.docx_第1页
第1页 / 共51页
SQLserver练习题.docx_第2页
第2页 / 共51页
SQLserver练习题.docx_第3页
第3页 / 共51页
SQLserver练习题.docx_第4页
第4页 / 共51页
SQLserver练习题.docx_第5页
第5页 / 共51页
SQLserver练习题.docx_第6页
第6页 / 共51页
SQLserver练习题.docx_第7页
第7页 / 共51页
SQLserver练习题.docx_第8页
第8页 / 共51页
SQLserver练习题.docx_第9页
第9页 / 共51页
SQLserver练习题.docx_第10页
第10页 / 共51页
SQLserver练习题.docx_第11页
第11页 / 共51页
SQLserver练习题.docx_第12页
第12页 / 共51页
SQLserver练习题.docx_第13页
第13页 / 共51页
SQLserver练习题.docx_第14页
第14页 / 共51页
SQLserver练习题.docx_第15页
第15页 / 共51页
SQLserver练习题.docx_第16页
第16页 / 共51页
SQLserver练习题.docx_第17页
第17页 / 共51页
SQLserver练习题.docx_第18页
第18页 / 共51页
SQLserver练习题.docx_第19页
第19页 / 共51页
SQLserver练习题.docx_第20页
第20页 / 共51页
亲,该文档总共51页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

SQLserver练习题.docx

《SQLserver练习题.docx》由会员分享,可在线阅读,更多相关《SQLserver练习题.docx(51页珍藏版)》请在冰点文库上搜索。

SQLserver练习题.docx

SQLserver练习题

针对以下题目请选择正确答案(每道题目有一个或多个正确的答案)。

针对每一道题目,所有答案都选对,则该题得分,所选答案错误或不能选出所有正确答案,则该题不得分,以下每题2分。

1)

有关数据冗余说法错误的是()。

(选择一项)

a)

数据库中,数据存在副本的现象,就是数据冗余

b)

通过分类存储,可以有效减少数据冗余,但是会增加数据查找的复杂性

c)

在数据库设计阶段,一定要尽最大可能避免数据冗余,最好做到无数据冗余。

d)

数据冗余通常是由于数据库设计引起的。

2)

假定有一个用户表,表中包含字段:

userid(int)、username(varchar)、password(varchar)、等,该表需要设置主键,以下说法正确的是()。

(选择两项)

a)

如果不能有同时重复的username和password,那么username和password可以组合在一起作为主键。

b)

此表设计主键时,根据选择主键的最小性原则,最好采用userid作为主键。

c)

此表设计主键时,根据选择主键的最小性原则,最好采用username和password作为组合键。

d)

如果采用userid作为主键,那么在userid列输入的数值,允许为空。

3)

关于数据完整性,以下说法正确的是()。

(选择两项)

a)

引用完整性通过主键和外键之间的引用关系实现。

b)

引用完整性通过限制数据类型、检查约束等实现。

c)

数据完整性是通过数据操纵者自身对数据的控制来实现的。

d)

如果两个表中存储的信息相互关联,那么只要修改了一个表,另外一个表也要做出相应的修改,则称该这两个表中的数据具备完整性。

4)

关于标识列,以下说法正确的是()。

(选择一项)

a)

使用sql语句插入数据时,可以为标识列指定要插入的值。

b)

设定标识时,必须同时指定标识种子和标识递增量。

c)

若设定标识时,未指定标识递增量,那么使用sql语句插入数据时,可以为标识列指定递增值。

d)

只能把主键设定为标识列。

5)

现有表user,字段:

userid,username,salary,deptid,email;表department,字段:

deptid,deptname;下面()应采用检查约束来实现。

(选择一项)

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,以下说法正确的是()。

(选择两项)

a)

若数据库中已存在表book2,则会提示错误。

b)

若数据库中已存在表book2,则语句执行成功,并且表book2中的bookid自动设为标识。

c)

若数据库中不存在表book2,则语句执行成功,并且表book2中的bookid自动设为主键。

d)

若数据库中不存在表book2,则语句执行成功,并且表book2中的bookid自动设为标识。

7)

MicrosoftSQLServer2000在安装的时候就创建的示例用户数据库包括()。

(选择两项)

a)

Pubs

b)

Master

c)

Northwind

d)

Msdb

8)

以下()语句从表TABLE_NAME中提取前10条记录。

(选择一项)

a)

select*fromTABLE_NAMEwhererowcount=10

b)

selectTOP10*fromTABLE_NAME

c)

selectTOPof10*fromTABLE_NAME

d)

select*fromTABLE_NAMEwhererowcount<=10

9)

从“产品”表里查询出价格高于产品名称为“一次性纸杯”的产品的记录,此SQL语句为()。

(选择一项)

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的电话号码()。

(选择一项)

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表中插入数据,以下语句错误的是()。

(选择一项)

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服务的工具是()。

(选择一项)

a)

SQLServer企业管理器

b)

SQLServer服务管理器

c)

Windows服务

d)

SQLServer查询分析器

13)

现有表Employee,字段:

id(int),firstname(varchar),lastname(varchar);以下sql语句错误的是()。

(选择一项)

a)

selectfirstname+'.'+lastnameas'name'fromemployee

b)

selectfirstname+'.'+lastname='name'fromemployee

c)

select'name'=firstname+'.'+lastnamefromemployee

d)

selectfirstname,lastnamefromemployee

14)

在sqlserver2000中,关于数据库说法错误的是()。

(选择一项)

a)

数据库在磁盘上默认的存储位置是:

SQLServer安装路径\MicrosoftSQLServer\MSSQL\Data

b)

一个数据库至少应包含一个数据库文件(*.mdf)和一个事务日志文件(*.ldf)

c)

只有当数据库中不存在数据的情况下,才可以进行数据库的收缩操作。

d)

可以通过从A机器拷贝数据库文件和事务日志文件至B机器,然后通过在B机器上执行相应的附加数据库操作,实现数据库从A机器到B机器的复制。

15)

若要删除book表中所有数据,以下语句错误的是()。

(选择两项)

a)

truncatetablebook

b)

delete*frombook

c)

droptablebook

d)

deletefrombook

16)

学生成绩表grade中有字段score(float),现在要把所有在55分至60之间的分数提高5分,以下sql语句正确的是()。

(选择两项)

a)

Updategradesetscore=score+5

b)

Updategradesetscore=score+5wherescore>=55orscore<=60

c)

Updategradesetscore=score+5wherescorebetween55and60

d)

Updategradesetscore=score+5wherescore>=55andscore<=60

17)

现有书目表book,包含字段:

price(float);现在查询一条书价最高的书目的详细信息,以下语句正确的是()。

(选择两项)

a)

selecttop1*frombookorderbypriceasc

b)

selecttop1*frombookorderbypricedesc

c)

selecttop1*frombookwhereprice=(selectmax(price)frombook)

d)

selecttop1*frombookwhereprice=max(price)

18)

Sqlserver提供了一些字符串函数,以下说法错误的是()。

(选择一项)

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);现在查询各个类别的平均价格、类别名称,以下语句正确的是()。

(选择一项)

a)

selectavg(price),typefrombookgroupbytype

b)

selectcount(price),typefrombookgroupbyprice

c)

selectavg(price),typefrombookgroupbyprice

d)

selectcount(price),typefrombookgroupbytype

20)

若student表中包含主键sudentid,则执行语句:

updatestudentsetstudentid=100wherestudentid=101,结果可能是()。

(选择两项)

a)

错误提示:

主键列不能更新。

b)

更新了一条数据。

c)

错误提示:

违反主键约束。

d)

既不提示错误,也不更新数据。

21)

查询student表中的所有非空email信息,以下语句正确的是()。

(选择一项)

a)

Selectemailfromstudentwhereemail!

=null

b)

Selectemailfromstudentwhereemailnotisnull

c)

Selectemailfromstudentwhereemail<>null

d)

Selectemailfromstudentwhereemailisnotnull

22)

以下不属于企业管理器功能的是()。

(选择一项)

a)

创建并管理所有数据库、登陆、用户、权限等。

b)

管理和执行数据导入导出、数据库备份等多项辅助功能。

c)

定义sqlserver组。

d)

调试、执行sql语句,批处理和脚本。

23)

以下()语句的返回值不是22。

(选择一项)

a)

Selectabs(-22)

b)

Selectabs(22)

c)

Selectceiling(22.1)

d)

Selectfloor(22.9)

24)

成绩表grade中字段score代表分数,以下()语句返回成绩表中的最低分。

(选择两项)

a)

selectmax(score)fromgrade

b)

selecttop1scorefromgradeorderbyscoreasc

c)

Selectmin(score)fromgrade

d)

selecttop1scorefromgradeorderbyscoredesc

25)

现有订单表orders,包含用户信息userid,产品信息productid,以下()语句能够返回至少被订购过两回的productid?

(选择一项)

a)

selectproductidfromorderswherecount(productid)>1

b)

selectproductidfromorderswheremax(productid)>1

c)

selectproductidfromorderswherehavingcount(productid)>1groupbyproductid

d)

selectproductidfromordersgroupbyproductidhavingcount(productid)>1

26)

关于聚合函数,以下说法错误的是()。

(选择一项)

a)

Sum返回表达式中所有数的总合,因此只能用于数字类型的列。

b)

Avg返回表达式中所有数的平均值,可以用于数字型和日期型的列。

c)

Max和Min可以用于字符型的列。

d)

Count可以用于字符型的列。

27)

使用Sqlserver提供的(),可以创建数据库。

(选择一项)

a)

查询分析器

b)

企业管理器

c)

服务管理器

d)

事件探查器

28)

现有顾客表customers,包含数据如下表,若执行sql语句:

selectcount(distinct(city))fromcustomers,以下()是输出结果。

(选择一项)

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,以下()是输出结果。

(选择一项)

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提供了一些日期函数,以下说法错误的是()。

(选择两项)

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'),执行结果是()。

(选择一项)

bookid

title

1

jsp&servlet

2

jsp

3

Professionalservlet

4

asp

a)

更新了3条记录

b)

更新了2条记录

c)

更新了1条记录

d)

该sql语句有错误,无法执行

32)

现有订单表orders,包含数据如下表。

若查询既订购了产品P01,又订购了产品P02的顾客编号,可以执行以下()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)

OR

b)

Notbetween

c)

NotIN

d)

Like

34)

关于分组查询,以下()描述是错误的。

(选择两项)

a)

使用groupby进行分组查询

b)

对分组后的条件的筛选必须使用Having子句

c)

Having子句不能与where子句同时出现在一个select语句中

d)

在使用分组查询时,在select列表中只能出现被分组的列。

如:

selectcourseidfromgradegroupbycourseid.

35)

关于多表联接查询,以下()描述是错误的。

(选择一项)

a)

外联接查询返回的结果集行数可能大于所有符合联接条件的结果集行数。

b)

多表联接查询必须使用到JOIN关键字

c)

内联接查询返回的结果是:

所有符合联接条件的数据。

d)

在where子句中指定联接条件可以实现内联接查询。

36)

Sql语句:

select*fromstudentswhereSNOlike‘010[^0]%[A,B,C]%’,可能会查询出的SNO是()。

(选择两项)

a)

01053090A

b)

01003090A01

c)

01053090D09

d)

0101A01

37)

关于Truncatetable,以下()描述是错误的。

(选择两项)

a)

Truncatetable可跟Where从句,根据条件进行删除。

b)

Truncatetable用来删除表中所有数据。

c)

触发器对Truncatetable无效。

d)

delete比Truncatetable速度快。

38)

以下()说明了代码:

not(付款方式=’信用卡’)or(信用卡<>’阳光卡’)的含义。

(选择一项)

a)

付款方式不能是信用卡。

b)

付款方式不能是信用卡,或者信用卡是阳光卡。

c)

如果付款方式是信用卡,那么信用卡不能是阳光卡。

d)

付款方式是信用卡,并且信用卡不能是阳光卡。

39)

执行Sql语句:

select*,score*0.5+20as加权成绩fromgradewhere(score*0.5+20)<60orderbyscore*0.5+20,以下()描述是正确的。

(选择一项)

a)

错误提示:

orderby子句中不能出现表达式。

b)

正确执行,显示grade表中各列值,按照score由低到高排序。

c)

正确执行,显示grade表中各列值,以及加权成绩列,按照score由低到高排序。

d)

错误提示:

where子句中不能出现表达式。

40)

创建一个名为‘Customers’的新表,同时要求新表中包含表‘clients’的所有记录,sql语句是()。

(选择一项)

a)

Select*intocustomersfromclients

b)

Selectintocustomersfromclients

c)

Insertintocustomersselect*fromclients

d)

Insertcustomersselect*fromclients

41)

关于主键,以下()说法是错误的。

(选择两项)

a)

主键可以用来确保表中不存在重复的数据行。

b)

一个表必须有

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

当前位置:首页 > 工程科技 > 能源化工

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

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