SQL Server(青鸟-复习试题及参考答案-2010.6)

更新时间:2024-03-18 18:48:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

SQL Server 2005(青鸟-复习试题)

1.数据库系统发展到今天,占统治地位的仍然是关系数据库。关系数据库中所谓的数据冗余指的是()。(选择一项)

A.数据不准确

B.存在重复数据

C.数据之间不存在关系

D.数据量太大

2.在SQL Server 2005数据库系统中,设计了如下图所示结构的数据库表students,其中SCode字段为标识列,且是主键,则选项中插入数据行的T-SQL语句错误的是()。(选择一项)

A.insert into students(SName,SAddress,SGrade,Semail,SSex) values('张海霞','上海松江',6,'ZQC@Sohu.com','0')

B.insert into students(SName,SAddress,SGrade,SSex) values('张海霞','上海松江',6,'0')

C.insert into students(SName,SAddress,SGrade,Semail,SSex) select '张海霞','上海松江',6,'ZQC@Sohu.com','0'

D.insert into students values('张海霞','上海松江',6,'0')

3.在SQL Server 2005数据库中,可以使用()关键字来限制返回的数据行数。(选择一项)

A.LIMIT B.TOP A.DOC

C.COUNT D.SUM

D.SQL

4.在SQL Server 2005数据库系统中,使用DTS数据转换服务可以将数据库中的数据导出为()格式文件。(选择两项)

B.EXCEL C.TXT

5.在SQL Server 2005数据库中,聚合函数能够基于列进行计算。以下关于聚合函数的描述错误的是(A)。(选择一项)

A.COUNT(*)返回组中项目的数量,这些项目不包括NULL值和重复值 B.MAX忽略任何空值,对于字符列,MAX查找排序序列的最大值 C.MIN忽略任何空值,对于字符列,MIN查找排序序列的最低值 D.SUM返回表达式中所有值的和,空值将被忽略

6.SQL Server 2005中的数据库按照用途可以划分为系统数据库和用户数据库,下列不属于系统数据库的数据库是()。 (选择一项)

A.master B.tempdb C.model D.pubs

7.在SQL Server2005数据库中,系统提供聚合函数对列中的数据进行计算。以下聚合函数中,()用于返回表达式中所有值中的最小值。(选择一项)

A.SUM

B.MIN

C.AVG

D.COUNT

B.delete * from tb1Student D.alter table tb1Student

8.在SQL Server2005数据库中,以下对数据表tb1Student的操作中能够删除表中所有记录的命令是()。(选择两项)

A.delete from tb1Student C.truncate table tb1Student

9.在SQL Server2005数据库中,移动数据库的操作可以将数据库的物理文件从当前计算机上复制到其他计算机上使用。移动数据库的两个最关键步骤是()。(选择两项)

A.收缩

B.分离

C.复制

D.附加

10.在SQL Server2005数据库中,如果一个T-SQL语句中包含多个逻辑运算符并且假设语句中没有括号时,其正确的运算顺序是()。(选择一项)

A.首先OR,然后NOT,最后计算AND C.首先AND,然后OR,最后计算NOT

B.首先NOT,然后OR,最后计算AND D.首先NOT,然后AND,最后计算OR

11.在SQL Server2005数据库系统中,主键用来唯一地标识表中的每一行,外键用来强制“子表”和“主表”间的引用完

- 1 -

整性,下列关于主键和外键的理解正确的是(A)。(选择一项)

A.选择主键的两个原则是最少性和稳定性 C.外键用来唯一的标识“子表”中的每一行 SELECT DATEADD(YY,3,'2005-03-04') A.2008-03-04 序为()。(选择一项)

A.WHERE GROUP BY HAVING C.HAVING WHERE GROUP BY 序或者降序,将()。(选择一项)

A.不排序 A.AND

B.按ASC升序排序

C.NOT

D.IN

C.按DESC降序排序

D.出现语法错误

15.在SQL Server 2005数据库中,T-SQL支持的逻辑运算符不包括()。(选择一项)

B.OR

16.在SQL Server 2005数据库中,系统提供聚合函数对列中的数据进行计算。以下聚合函数中,()用于返回表达式中所有值得总和。(选择一项)

A.SUM

B.MAX

C.AVG

D.COUNT

17.在SQL Server 2005数据库系统中,使用T-SQL查询数据时,可以使用ORDER BY子句对查询结果排序,并且可以按照多个字段进行排序,下列关于排序描述错误的是()。(选择一项)

A.按照多字段排序时,首先按照第一个字段排序 D.可以根据含字段的表达式排序

18.在SQL Server 2005数据库中,标识列本身没有实际意义,而是为了区分表中不同的记录。下列关于标识列的说法中错误的是()。(选择一项)

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

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

C.标识列可以是任意数据类型 D.不能更新或输入标识列的值

19.在SQL Server 2005数据库中,主键是表中能用来唯一标识表中每一行的一列或多列的组合。通过设定表的主键可以实现()完整性约束。(选择一项)

A.引用 A..sql

B.实体 B..mdb

C.域 C..ldf

D.自定义 D..mdf

20.SQL Server 2005数据库的数据文件由以下()文件组成。(选择二项)

21.要在SQL Server 2005数据库中创建一个网站用户信息表,其中用户的Email地址用一个字段来存储,规定Email地址中需要包含有“@”和“.”字符,这一规定可以采用()来实现。(选择一项)

A.主键约束

B.外键约束

C.检查约束

D.默认约束

C.Delete * from sample

D.Drop * from sample

22.在SQL Server 2005中,删除表sample中的所有数据,可以使用如下()语句。(选择一项)

A.Drop table sample

B.Delete from sample

23.在SQL Server 2005中,假设表stu中包含主键列AP列,则以下更新语句的执行结果不可能是()。(选择一项) Update stu set AP=200 where AP=300

A.更新了多行数据 B.没有数据更新

C.更新了一行数据 D.出现错误

24.在SQL Server2005数据库中,假设某网上书城的数据库中books数据表用于存储每本书的销售信息,其中book_name列为书的名称,pub_id列为出版社的编号,sales列为每本书的销售额,现在要查询出版的书目大于5本的出版社的销售额分别是多少,则正确的查询语句是()。(选择两项)

A.select pub_id ,total=sum(sales) from books group by pub_id having count(*)>5 B.select pub_id,total=sum(sales) from books where count(*)>5 group by pub_id

C.select pub_id,total=sum(sales) from books where count(book_name)>5 group by pub_id

B.默认的排序方式为升序

C.按照多字段排序时,按照第一个字段排序后,再对所有记录按照第二个字段排序

B.WHERE HAVING GROUP BY D.GROUP BY WHERE HAVING

B.2005-06

C.2005-03-07

D.2008

13.在SQL Server2005数据库中,HAVING 和WHERE 子句以及GROUP BY可以在同一SELECT语句中使用,其正确的先后顺

B.在同一张表中,只能用一列当作主键 D.一个表只能有一个主键和一个外键

12.在SQL Server 2005数据库中执行以下的T-SQL语句,得到的输出结果是()。(选择一项)

14.在SQL Server 2005数据库系统中,使用T-SQL查询数据时,可以使用ORDER BY子句对查询结果排序,如果不指定升

- 2 -

D.select pub_id,total=sum(sales) from books group by pub_id having count(book_name)>5

25.在SQL Server 2005中,假定grade(成绩)表中包含字段:sID(学号),lang(语文课成绩)。那么列出语文成绩在80分到90分的学生的SQL语句是()。(选择一项)

A.select * from grade where lang in(80,90)

B.select * from grade having lang in(80,90)

C.select * from grade where lang between 80 and 90 D.select * from grade having lang between 80 and 90 26.在SQL Server 2005中,有students(学生)表,包含字段:SID(学号),SName(姓名),Grade(成绩)。现要将所有学员的成绩加10分。下列SQL语句正确的是()。(选择一项)

A.update students set Grade=Grade+10 where SID=1 B.update * set Grade=Grade+10 C.update * from students set Grade=Grade+10

D.update students set Grade=Grade+10

27.在SQL Server 2005中,学生表student中包含字段:学生编号sid(主键)、学生姓名sName,成绩表score包含字段:课程编号cid、学生编号sid(外键)、学生成绩score;其中学生表包含10行数据,成绩表包含6行记录(且sid列没有重复值),那么执行如下SQL语句,将返回()条记录。(选择一项) select * from student left outer join score on student.sid=score.sid

A.0

B.6

C.10

D.16

28.在SQL Server 2005中,有students(学生)表,包含字段:SID(学号)、SName(姓名)、Grade(成绩)。现查找所有学员中成绩最高的前5名学员。下列SQL语句正确的是()。(选择一项)

A.select top 5 from students order by grade desc

B.select top 5 from students order by grade

C.select top 5 * from students order by grade asc D.select top 5 * from students order by grade desc 29.假定有一个用户表,表中包含字段:userid (int)、username (varchar)、 password(varchar)、等,该表需要设置主键,以下说法正确的是()。(选择两项)

A.如果不能有同时重复的username和password,那么username和password可以组合在一起作为主键。 B.此表设计主键时,根据选择主键的最小性原则,最好采用userid作为主键。

C.此表设计主键时,根据选择主键的最小性原则,最好采用username和password作为组合键。 D.如果采用userid作为主键,那么在userid列输入的数值,允许为空。 30.关于数据完整性,以下说法正确的是()。(选择两项)

A.引用完整性通过主键和外键之间的引用关系实现。 B.引用完整性通过限制数据类型、检查约束等实现。 C.数据完整性是通过数据操纵者自身对数据的控制来实现的。

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

31.现有表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值。 32. 以下()语句从表TABLE_NAME中提取前10条记录。(选择一项)

A.select * from TABLE_NAME where rowcount=10 B.select TOP 10 * from TABLE_NAME C.select TOP of 10 * from TABLE_NAME

D.select * from TABLE_NAME where rowcount<=10

33.查找 student表中所有电话号码(列名:telephone)的第一位为8或6,第三位为0的电话号码()。(选择一项)

A.SELECT telephone FROM student WHERE telephone LIKE '[8,6]%0*' B.SELECT telephone FROM student WHERE telephone LIKE '(8,6)*0%' C.SELECT telephone FROM student WHERE telephone LIKE '[8,6]_0%' D.SELECT telephone FROM student WHERE telephone LIKE '[8,6]_0*'

34.现有表book,字段:id (int),title (varchar), price (float); 其中id字段设为标识, 使用insert语句向book表中插入数据,以下语句错误的是()。(选择一项)

- 3 -

A.insert into book (id,title,price) values(1,'java',100) B.insert into book (title,price) values('java',100) C.insert into book values ('java',100) 一项)

A.select firstname+'.'+lastname as 'name' from employee B.select firstname+'.'+lastname='name' from employee C.select 'name'=firstname+'.'+lastname from employee

D.select firstname,lastname from employee

36.在sql server 2005中,关于数据库说法错误的是()。(选择一项)

A.数据库在磁盘上默认的存储位置是:SQL Server安装路径\\Microsoft SQL Server\\MSSQL.1\\MSSQL\\DATA B.一个数据库至少应包含一个数据库文件(*.mdf)和一个事务日志文件(*.ldf) C.只有当数据库中不存在数据的情况下,才可以进行数据库的收缩操作。

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

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

A.Update grade set score=score+5

B.Update grade set score=score+5 where score>=55 or score <=60

C.Update grade set score=score+5 where score between 55 and 60 D.Update grade set score=score+5 where score >=55 and score <=60

38.现有书目表book,包含字段:price (float); 现在查询一条书价最高的书目的详细信息,以下语句正确的是()。(选择两项)

A.select top 1 * from book order by price asc D.select top 1 * from book where price= max(price)

39. Sql server提供了一些字符串函数,以下说法错误的是()。(选择一项)

A.select right('hello',3) 返回值为:hel

B.select ltrim(rtrim(' hello ')) 返回值为:hello(前后都无空格) C.select replace('hello','e','o') 返回值为:hollo 下语句正确的是()。(选择一项)

A.select avg(price),type from book group by type

B.select count(price),type from book group by price

C.select avg(price),type from book group by price D.select count (price),type from book group by type 41.若student表中包含主键sudentid,则执行语句:update student set studentid=100 where studentid=101, 结果可能是()。(选择三项)

A.错误提示:主键列不能更新。 C.错误提示:违反主键约束。

B.更新了一条数据。

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

B.Select email from student where email not is null D.Select email from student where email is not null

D.select len('hello') 返回值为:5

40.现有书目表book,包含字段:价格price (float),类别type(char); 现在查询各个类别的平均价格、类别名称,以

B.select top 1 * from book order by price desc

C.select top 1 * from book where price= (select max(price) from book)

D.insert book values('java',100)

35. 现有表Employee,字段:id (int)、firstname(varchar)、 lastname(varchar); 以下sql语句错误的是()。(选择

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

A.Select email from student where email !=null C.Select email from student where email <> null 43.以下()语句的返回值不是22。(选择一项)

A.Select abs(-22) B.Select abs(22) C.Select ceiling(22.1) D.Select floor(22.9) 44.成绩表grade中字段score代表分数,以下()语句返回成绩表中的最低分。(选择两项)

A.select max(score) from grade B.select top 1 score from grade order by score asc C.Select min(score) from grade D.select top 1 score from grade order by score desc 45.关于聚合函数,以下说法错误的是()。(选择一项)

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

- 4 -

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

D.Count可以用于字符型的列。

46.Sql server提供了一些日期函数,以下说法错误的是()。(选择两项)

A.select dateadd(mm, 4,'01/01/99') 返回值为:05/01/99 B.select datediff(mm,'03/06/2003','03/09/2003') 返回值为:3 C.select datepart(day,'03/06/2003') 返回值为:6 rvlet','csharp'),执行结果是()。(选择一项)

bookid 1 2 3 4 title jsp&servlet jsp Professional servlet asp D.select datename(dw,'03/06/2003') 返回值为:6

47.现有书目表book,数据见下表。 现在执行sql语句:update book set title=replace(replace(title,'j','a'),'se

A.更新了3条记录 B.更新了2条记录 C.更新了1条记录 D.该sql语句有错误,无法执行 48.使用以下()不可以进行模糊查询。(选择一项)

A.OR

B.Not between

C.Not IN

D.Like

49.关于分组查询,以下()描述是错误的。(选择两项)

A.使用group by 进行分组查询

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

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

D.在使用分组查询时,在select列表中只能出现被分组的列。如:select courseid from grade group by courseid. 50.关于多表联接查询,以下()描述是错误的。(选择一项)

A.外联接查询返回的结果集行数可能大于所有符合联接条件的结果集行数。B.多表联接查询必须使用到JOIN关键字 C.内联接查询返回的结果是:所有符合联接条件的数据。 D.在where子句中指定联接条件可以实现内联接查询。 51.Sql语句:select * from students where SNO like ‘010[^0]%[A,B,C]%’,可能会查询出的SNO是()。(选择两项)

A.01053090A B.01003090A01

C.01053090D09

D.0101A01

B.Truncate table 用来删除表中所有数据。 D.delete 比Truncate table速度快。

52.关于Truncate table, 以下()描述是错误的。(选择两项)

A.Truncate table 可跟Where从句,根据条件进行删除。 C.触发器对Truncate table无效。 A.付款方式不能是信用卡。

53.以下()说明了代码:not (付款方式=’信用卡’) or (信用卡<>’阳光卡’) 的含义。(选择一项)

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

C.如果付款方式是信用卡,那么信用卡不能是阳光卡。 以下()描述是正确的。(选择一项)

A.错误提示:order by 子句中不能出现表达式。 D.错误提示:where 子句中不能出现表达式。

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

A.Select * into customers from clients

B.Select into customers from clients D.Insert customers select * from clients B.一个表必须有一个主键。 D.只能对整数型列设置主键。

C.Insert into customers select * from clients 56.关于主键,以下()说法是错误的。(选择两项)

A.主键可以用来确保表中不存在重复的数据行。 C.一个表只能有一个主键。

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

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

54.执行Sql语句:select *, score*0.5+20 as 加权成绩 from grade where (score*0.5+20)<60 order by score*0.5+20,

57.表book中包含三个字段:title(varchar), author(varchar), price(float)。Author的默认值是’UNKNOW’,执行sql语句:insert book (title,price) values (‘jsp’, 50)。以下结果正确的是()。(选择一项)

A.插入失败,sql语句有错

B.插入成功,author列的数据是UNKNOW D.插入成功,author列的数据是50

C.插入成功,author列的数据是NULL

- 5 -

58.关于sql server常用的数据类型,以下()说法是错误的。(选择一项)

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

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

C.使用数字数据类型时,可以改变长度信息。 D.Bit数据类型为1位长度,可以存储表示是/否的数据。

59.现有学生表student(主键:学生编号siD.,成绩表score(外键:学生编号sid, 两表中的数据如下。执行sql语句:select * from student st left outer join score sc on st.sid=sc.sid。正确的返回结果是()条记录。(选择一项) student sid 1 2 3 4 A.0 sname Lee Chen Jack rose B.2 C.4

score sid 1 2 D.6 C.主键约束

D.默认约束

score 80 75 60.定义列中可以接受的数据值或格式,称为()。(选择一项)

A.唯一性约束 B.检查约束

61.假设订单表orders用来存储订单信息,cid代表客户编号,money代表单次订购额,现要查询每个客户的订购次数和每个客户的订购总金额,下面()sql语句可以返回正确结果。(选择一项)

A.select cid,count(distinct(cid),sum(money) from orders group by cid B.select cid,count(distinct(cid),sum(money) from orders order by cid C.select cid,count(cid),sum(money) from orders order by cid D.select cid,count(cid),sum(money) from orders group by cid 62.Sql server提供了一些系统函数,以下说法错误的是()。(选择两项)

A.select datalength('ab cde') 返回值为:5 B.select convert(char(3),12345) 返回值为:123 C.select datalength('abcde ') 返回值为:5 D.select convert(char(5),12345) 返回值为:12345 63.家庭住址最好采用()数据类型进行存储。(选择一项)

A.Char/Nchar

B.text/Ntext

C.Varchar/Nvarchar

D.Char2/Nchar2

64.现有客户表customers(主键:客户编号cid),包含10行数据,订单表orders(外键:客户编号cid),包含6条数据。执行sql语句:select * from customers right outer join orders on customers.cid=orders.cid。最多返回()条记录。(选择一项)

A.10

B.6

C.4

D.0

65.假设一系统原来使用Access数据库,现要使用sql server数据库,采用()方法可以完成两个数据库之间的数据转换工作。(选择一项)

A.Sql server的附加数据库功能 题号 1 6 11 16 21 26 31 36 41 46 答案 B D A A C D C C BCD BD 题号 2 7 12 17 22 27 32 37 42 47 答案 D B A C B C B CD B A 题号 3 8 13 18 23 28 33 38 43 48 答案 B AC A C A D C BC C A 题号 4 9 14 19 24 29 34 39 44 49 答案 BC BD B B CD AB A A BD CD 题号 5 10 15 20 25 30 35 40 45 50 答案 A D D CD C AD B A B D

B.Sql server的还原数据库功能 D.Sql server的导入\\导出功能

C.在Sql server中可直接打开Access数据库,另存即可。

- 6 -

题号 51 56 61 66

答案 AD BD D 题号 52 57 62 67 答案 AD B AB 题号 53 58 63 68 答案 A C C 题号 54 59 64 69 答案 C C B 题号 55 60 65 70 答案 A B D - 7 -

本文来源:https://www.bwwdw.com/article/hg28.html

Top