SQLServer单科测试题带答案.docx

上传人:b****9 文档编号:23415602 上传时间:2023-05-16 格式:DOCX 页数:19 大小:22.86KB
下载 相关 举报
SQLServer单科测试题带答案.docx_第1页
第1页 / 共19页
SQLServer单科测试题带答案.docx_第2页
第2页 / 共19页
SQLServer单科测试题带答案.docx_第3页
第3页 / 共19页
SQLServer单科测试题带答案.docx_第4页
第4页 / 共19页
SQLServer单科测试题带答案.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

SQLServer单科测试题带答案.docx

《SQLServer单科测试题带答案.docx》由会员分享,可在线阅读,更多相关《SQLServer单科测试题带答案.docx(19页珍藏版)》请在冰豆网上搜索。

SQLServer单科测试题带答案.docx

SQLServer单科测试题带答案

选择题(每题2分,共计100分)

1.在SQLServer中,要防止大于100的数被保存到int类型的列,可以使用()。

A.主键约束

B.限制约束

C.外键约束

D.检查约束

2.在SQLServer中,下面关于数据完整性的描述正确的是()。

[选两项]

A.如果数据库中没有重复的数据,数据就是完整的

B.维护数据完整性就是保证数据的准确性

C.数据库中数据越详细越符合数据完整性

D.维护数据完整性可以保证数据的一致性,避免出现没有意义的数据

3.在SQLServer2005中,有系统数据库和用户数据库,下列不属于系统数据库的是()。

A.master

B.model

C.msdb

D.pubs

4.在SQLSever2005中,假设表users包含主键列id,那么执行”updateuserssetid=20whereid=30”,执行的结果可能有()。

A.如果表中含有id为30的记录,但不包含id为20的记录,则更新失败

B.执行出错,因为主键列不可以被更新

C.如果表中同时含有id为20和id为30的记录,则更新失败。

D.如果表中不包含id为20和id为30的记录,则更新一行记录

5.在SQLServer2005数据库中,使用update语句更新数据库表中的数据,以下说法正确的是()。

A.每次只能更新一行数据

B.每次可更新多行数据

C.如果没有数据项被更新,将提示错误消息

D.更新数据时,必须带有WHERE条件句子

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

[选两项]

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

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

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

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

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

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

B.只能把主键设定为标识列

C.一个表可以有多个标识列

D.标识列可以为任何数据类型

8.在SQLServer2005数据库中,有一个book(图书)表,包含字段:

bookID(图书编号),title(书名),pDate(出版日期),author(作者)等字段,其中()字段作为该表主键是最恰当的。

A.bookID

B.title

C.pDate

D.author

9.现有表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

10.T-SQL提供了一些字符串函数,以下说法错误的是()。

A.selectsubstring('hello',1,3)返回值为:

hel

B.selectreplace('hello','e','o')返回值为:

hollo

C.selectlen('hello')返回值为:

5

D.selectstuff(‘abcd’,2,3,‘ef’)返回值为:

aefd

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

价格price(float),类别type(char);现在查询各个

类别的平均价格、类别名称,以下语句正确的是()。

A.selectavg(price),typefrombookgroupbytype

B.selectcount(price),typefrombookgroupbyprice

C.selectavg(price),typefrombookgroupbyprice

D.selectcount(price),typefrombookgroupbytype

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

A.Selectabs(-22)

B.Selectround(21.9,0)

C.Selectceiling(22.1)

D.Selectfloor(22.9)

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

A.selectproductidfromorderswherecount(productid)>1

B.selectproductidfromorderswheremax(productid)>1

C.selectproductidfromorderswherehavingcount(productid)>1groupby

productid

D.selectproductidfromordersgroupbyproductidhavingcount(productid)>1

14.T-SQL提供了一些日期函数,以下说法错误的是()。

[选两项]

A.selectdateadd(mm,4,’2000-10-11’)返回值为:

2001-2-11

B.selectdatediff(year,'2000-1-1','2000-7-1')返回值为:

0.5

C.selectdatepart(dw,'2008-9-7')(提示:

星期天)返回值为:

1

D.selectdatename(dw,'2008-9-10')返回值为:

6

15.使用以下()不可以进行模糊查询。

A.or

B.like

C.in

D.between

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

[选两项]

A.使用groupby进行分组查询

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

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

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

17.以下()说明了代码:

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

A.付款方式不能是信用卡

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

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

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

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

[选两项]

A.主键用于实施实体约束

B.一个表必须有一个主键

C.一个表只能有一个主键

D.只能对整数型列设置主键

19.关于SQL常用的数据类型,以下()说法是错误的。

A.Image数据类型可以用来存储图像

B.使用字符数据类型时,可以改变长度信息

C.使用数字数据类型时,可以改变长度信息

D.Bit数据类型只有两种值:

true,false

20.定义列中可以接受的数据值或格式,称为()。

A.唯一性约束

B.检查约束

C.主键约束

D.默认约束

21.现有客户表customers(主键:

客户编号cid),包含10行数据,订单表orders(外键:

客户编号cid),包含6条数据。

执行sql语句:

select*fromcustomersrightouter

joinordersoncustomers.cid=orders.cid。

最多返回()条记录。

A.10

B.6

C.4

D.0

22.在SQLServer中,函数()返回表达式中的平均值。

A.AVG

B.SUM

C.MIN

D.COUNT

23.在SQLServer2005数据库中,T-SQL支持的逻辑运算符不包含()。

A.AND

B.OR

C.NOT

D.IN

24.创建数据库时,关于数据库文件,以下说法正确的是()。

A.只会创建一个主数据文件

B.至少会创建一个主数据文件和一个日志文件

C.至少会创建一个主数据文件和一个次数据文件

D.可以创建多个主数据文件和多个日志文件

25.在SQLServer2005数据库中,假定有学员选课表(studentCourse),其结构:

SID(学

号),CID(课程编号),score(成绩),列出选课超过5门的学员学号及选课数量的SQL

语句是()。

A.selectSID,count(CID)fromstudentCoursewherecount(CID)>5

B.selectSID,count(CID)fromstudentCoursegroupbySIDwherecount(CID)>5

C.selectSID,count(CID)fromstudentCoursegroupbySIDhavingcount(CID)>5

D.selectSID,count(CID)fromstudentCoursegroupbyCIDhavingcount(SID)>5

26.数据的完整性,不包括()。

A.域完整性

B.行完整性

C.实体完整性

D.自定义完整性

27.外键约束可以用于实施()。

A.实体完整性

B.行完整性

C.引用完整性

D.域完整性

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

[选三项]

A.可以在子表中随意修改数据

B.不能在子表中随意删除数据

C.可以在主表中随意增加数据

D.不能在主表中随意修改数据

29.在SQLServer中,附加数据库操作是指()。

A.把SQLServer数据库文件保存为其他数据库文件

B.根据数据库物理文件中的信息,把数据库在SQLServer中恢复

C.把所有该数据库表的数据清空

D.把数据库删除掉

30.在SQLServer2005数据库中,有students(学生)表,包含字段:

SID(学号),Sname(姓名),Gread(成绩).现查找所有学员中成绩最高的前5名学员.下列SQL语句正确的是()。

A.SELECTTOP5FROMstudentsORDERBYGradeDESC

B.SELECTTOP5FROMstudentsORDERBYGrade

C.SELECTTOP5*FROMstudentsORDERBYGrade

D.SELECTTOP5*FROMstudentsORDERBYGradeDESC

31.在SQLServer2005数据库中,有学生信息表:

Student(stuID,stuName,stu_Address),三个字段分别存储学生的学号,姓名,以及家庭住址,如果要在表中找出家庭住址倒数第三个字符为”沙”,并且至少包含4个字符的学生信息,则查询条件子句应写成()。

A.WHEREstu_AddressLIKE‘__沙_%’

B.WHEREstu_AddressLIKE‘%沙__’

C.WHEREstu_AddressLIKE‘%_沙__’

D.WHEREstu_AddressLIKE‘_沙_%’

32.在SQLServer2005数据库中,客户表customers包含字段:

客户编号cid和名称cname,订单表orders包含字段:

客户编号cid,如果需要通过查询获得订单的客户的名称,下面查询语句中()可以实现该需求。

A.SELECTameFROMcustomersLEFTJOINordersONcustomers.cid=order.cid

B.SELECTameFROMcustomersINNERJOINordersONcustomers.cid=order.cid

C.SELECTameFROMcustomersRIGHTJOINordersWherecustomers.cid=order.cid

D.SELECTameFROMcustomersouterJOINordersWherecustomers.cid=order.cid

33.为字段stuAge添加检查约束,保证输入的数据都在18到40岁之间,以下正确的是()。

[选两项]

A.stuAgein(18-40)

B.stuAge>=18andstuAge<=40

C.stuAge>=18&&stuAge<=40

D.stuAgebetween18and40

34.在SQLServer中,标识列本身没有实际意义,而是为了区分表中不同的记录,下列关于标识符的说法错误的是()。

[选两项]

A.一个表只能有一个标识列

B.不能对标识列加上默认约束

C.标识列可以是任意数据类型

D.不能更新或输入标识列的值

35.在SQLServer中,删除表test中的所有数据,可以使用以下()语句。

[选

两项]

A.Truncatetabletest

B.delete*fromtest

C.deletefromtest

D.Truncatetabletestwhere1=1

36.在SQLServer数据库中,表Students的主键SCode为表Score的外建StudentID,表Students含有5条数据,表Score含有10条数据,当对表Students和表Score进行如下查询时,将查询出()记录。

SELECTS.SCodeFROMstudentsASS

FullJOINScoreASCOn(S.SCode=C.StudentID)

A.5

B.10

C.15

D.0

37.若表student中有100条数据,需要选择出年龄最小的五个学员,字段stuAge表示年

龄,以下SQL可以实现该功能的是()。

[选两项]

A.Selecttop5*fromstudentorderbystuAge

B.Selecttopof5*fromstudentorderbystuAgeASC

C.Selecttop5percent*fromstudentorderbystuAgeDESC

D.Selecttop5percent*fromstudentorderbystuAge

38.关于where,groupby,having在select语句中的出现的顺序是()。

A.Wherehavinggroupby

B.Havinggroupbywhere

C.Wheregroupbyhaving

D.Groupbyhavingwhere

39.关于表的联接说法错误的是()。

A.当两个表进行内连接时,可以通过innerjoinon或=来实现

B.当两个表进行内连接时,交换两个表的位置,结果不会改变

C.当两个表进行左外连接时,交换两个表的位置,结果可能不会改变

D.两个表进行内连接的结果行数大于两个表进行外连接的结果行数

40.在SQLServer2000中,有student(学生)表,其结构为:

sID(学号、int型、主键),sName(姓名、varchar型),birthday(出生日期、varchar型),score(成绩、int型)。

现要向学员表中出入一名学员的信息,下列SQL语句正确的是()。

A.INSERTINTOstudentsVALUES(1,‘李刚’,‘1999-01-01’,80)

B.INSERTINTOstudents(sID,sName,birthday)VALUES(1,‘李刚’,‘1999-0101’,80)

C.INSERTINTOstudentsVALUES(1,李刚,1999-01-01,80)

D.INSERTINTOstudents(sID,sName,birthday)VALUES(NULL,‘李刚’,

‘1999-01-01’)

41.现有表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值

42.现有表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)

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

[选两项]

A.selectmax(score)fromgrade

B.selecttop1scorefromgradeorderbyscoreasc

C.Selectmin(score)fromgrade

D.selecttop1scorefromgradeorderbyscoredesc

44.select*fromstudentswhereSNOlike‘010_[^0]%[A-C]%’,可能会查询出的SNO

是()。

[选两项]

A.01053090A

B.01003090A01

C.01053090D09

D.0101A01

45.在SQlServer数据库中,现有student_info(学生)表,其中包括字段:

stu_name(姓名,varcher型),stu_id(学号,int型),stu_grade(成绩,int型).现在需要查询成绩为80分的学生姓名,并且结果按照学号降序排列。

下面查询语句正确的是()。

A.Selectstu_namefromstudent_infowherestu_grade=80orderbystu_id

B.Selectstu_namefromstudent_infowherestu_grade=80orderbystu_iddesc

C.Selectstu_namefromstudent_infowherestu_gradelike80groupbystu_id

D.Selectstu_namefromstudent_infowherestu_grade=80orderbystu_idasc

46.顾客表(customer)中有如下信息:

cid

Cname

City

1

Jack

Null

2

Lee

Beijing

3

Tom

4

Chen

Beijing

Selectcount(City),count(*)fromcustomer,执行的结果为()。

A.4,4

B.2,2

C.3,4

D.2,4

47.当进行分组查询时,在select后可以出现()。

[选两项]

A.表中的任意列

B.分组的列

C.聚合函数

D.表中的所有列

48.在insert语句中若要向某列插入默认值,应该使用()。

A.null

B.value

C.default

D.join

49.关于truncatetable说法正确的是()。

A.truncatetable可以用于删除表的部分数据

B.truncatetable在删除数据比delete速度快

C.使用truncatetable删除表数据后,对表中标识列没有影响

D.truncatetable可以用于删除表的结构

50.以下()约束不是用于实施域完整性。

A.非空约束

B.外键约束

C.唯一约束

D.默认值

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

当前位置:首页 > 高中教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1