SQLServer单科测试题带答案.docx
- 文档编号:23415602
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:19
- 大小:22.86KB
SQLServer单科测试题带答案.docx
《SQLServer单科测试题带答案.docx》由会员分享,可在线阅读,更多相关《SQLServer单科测试题带答案.docx(19页珍藏版)》请在冰豆网上搜索。
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.默认值
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQLServer 单科 测试 答案