S2-SQL-模拟题一-蒋航_第1页
S2-SQL-模拟题一-蒋航_第2页
S2-SQL-模拟题一-蒋航_第3页
S2-SQL-模拟题一-蒋航_第4页
S2-SQL-模拟题一-蒋航_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、s2_sql 高级编程一:单选 (共 41问,每问 2 分)1: sql server 2005 中,()关键字标志着批处理的结束。 (选择一项)endgofinishprint 答案 :b 评:批处理结束的标志是: go 所在章节:第三章2: sql server 2005 中,使用 t-sql 编程时,下列()语句可以从 while 语句块中退出。 (选择一 项)continueexitbreakclose 答案 :c 评: break 中断循环 所在章节:第四章3: sql server2000 中,使用 t_sql 编程时,对变量赋值可以使用()或()语句。 (选择一项)set sel

2、ectprint selectset makeprint set 答案 :a 评:对变量赋值只能是 set 或 select ,select 还可从查询中赋值 所在章节:第三章4: sql server2005 中,要对用户表( user)建立一个约束,保证注册日期( registerdata)默认 使用系统当前日期,下面语句正确的是() 。(选择一项)alter table user add constraint ck_date check(registerdate=getdate()alter table user add constraint df_date default(getdat

3、e()alter table user add constraint df_date default(getdate() for registerdatealter table user add constraint df_date default(registerdate=getdate() 答案 :c 所在章节:第二章 评:添加默认约束的语法: alter table 表名 add constraint 约束名 default( 值 ) for 列名 5: 在 sqlserver 2005 的中,给定创建视图的代码如下: create view abcd select*from sales

4、 where qty90 则下划线处应填写的正确关键字为() 。 (选择一项)onasalterfor答案 :b所在章节:第五章 评 : 创建视图的语法: create view 视图名 as sql 语句6: 在 sqlserver 2005 中,对存储过程的描述中正确的是() 。 (选择一项)定义了一个有相关列和行的集合它根据一列或多列的值,提供对数据库表的行的快速访问当用户修改数据时,一种特殊形式的存储过程被自动执行sql 语句的预编译集合 答案 :d 所在章节:第六章 评: 存储过程执行速度快,一次编译多次执行 ,是一条或多条 sql 语句的集合 7: sqlserver2000 中,

5、创建存在储过程的片断如下: 创建成功后, 以下()调用方式是正确的。 (选择一项) create procedure proc_scorepassed int=60,count int outputasselect count=count(*) from score where score=15 and age=15 and age=15 and age=15 and age=30) 答案 :a所在章节:第二章评: check 约束20: sql server 2005 中,使用 t-sql 编程时,输出结果有两种方式: ()或()语句。 (选择一 项)set selectprint sele

6、ctset makeprint set 答案 : b 所在章节 :第三章 评:表格输出和文本输出21: 在 sql server 2005 中,给定如下的 t-sql : declare abc int declare xyz intset abc=10while abc=100beginset xyz=case floor(abc/30)when 0 then abc*5when 1 then abc*10else abc*20endset abc=xyzendprint xyz 程序最后输出的结果是() 。(选择一项)50500100以上都不对答案 :b所在章节 :第四章提示 :case

7、whenthen .end类似于普通语言中的 switch 语句,每次只会执行其中的一种情 况 floor() 实现的是求小于或等于这个数的最大整数22: 在 sql server2005 的查询分析器中运行以下的 t-sql: (选择一项) select distinct t1.type from titles t1 where t1.type in(select type from titles where t1.pub_idpub_id)查询成功,但是将查询不到任何数据行查询成功,可能能够查询到一行或者多行数据查询失败,因为在同一张表中进行查询和子查询必须使用表的别名查询失败,因为不能同

8、时在一张表中执行多次查询答案 :b所在章节:第四章评: distinct 是剔除重复行 ,查询 pub_id 不同, type 相同的 type 记录23: 在 sql server2000 中,可以使用全局变量 ()来获得最后一次插入的标识值。 (选择一项)datefirstidentitytranscountrowcount答案 :b所在章节:第三章评: identity 用来获得最后一次插入的标识值24: sql server 2005 中,在查询分析器中调用()系统存储过程可以修改数据库的名称。(选择一项)sp_databasessp_renamebdsp_tablessp_renam

9、e 答案 :b 所在章节:第六章 评: sp_databases列出所有的数据库Sp_renamedb 重命名数据库 Sp_tables查询当前数据库下的所有的表和视图Sp_rename 在当前数据库中更改用户创建对象的名称25: 在 sql server2000 数据库中,表 stuinfo 的属性列 stuaddress 表示学生居住地址,对 stuaddress添加了如下的约束,其意义是() 。(选择一项) alter table stuinfoadd constraint df sinaddress default( 待定不详 ) for stuaddressstuaddress 列不

10、允许为空,已经存在的记录,如果该列为空,则自动填写 “待定不详 ”添加新记录时,如果 stuaddress列不填,默认填写 “待定不详 ”stuaddress 列全部修改填写为 “待定不详 ”将 stuaddress列值为 “待定不详 ”的记录全部划为非法,予以删除 答案 :b 所在章节:第二章 评:默认约束26: 在 sql server2005 数据库中, 表 student 中有字段 stuname 和 stuage,与如下语句等值的 sql 语句为()。假设表中姓名列可以有重复的值 .declare age intselect age=stuage from student where

11、 stuname=杨超 select * from student where stuage=age (选择一项)select * from student where stuname= 杨超 adns tuage=(select stuage from student where stuname= 杨超 )select * from student where stuage = (select stuage from student where stuname= 杨超 )select * from student where stuage in (select stuage from stu

12、dent where stuname= 杨超 )declare age intselec * from student where stuage=(select age=stuage from student where stuname= 杨 超)答案 :c 所在章节:第三章 评:查询跟杨超同龄的学生的所有信息,=只有一个结果, in 匹配多个结果 ,杨超可能有多个,所以用 in27: 在 sql server2005 中,以下是表 autos 的定义:create table autos(make varchar(20)not null,model varchar(20)not null,

13、acquisition_cost money null,acquisition_date datetime null) 创建该表后再执行以下语句: truncate table autos begin traninsert autos(make,model) values(tucker,torpedo) if exists (select * from autos)rollback tran elsecommit tran执行结果是() 。(选择一项)该批处理将失败,因为 begin tran commit tra没n有正确嵌套该批处理结束后,表内没有数据行该批处理结束后,表内有一行数据插入数

14、据行的语句将失败,并且提示错误信息 答案 :b所在章节:第五章提示: insert 语句用于向表中增加数据,但是 if exists 语句用于查看表中是否有值,如果有, 那么回滚,此时回滚会将事务中所有做的操作回滚,所以最后表中没有数据 .28: 在 sql server 2005 中,创建视图 view_b 的代码为() 。(选择一项)create view view_b as select * from table_acreate view_b as select * from table_acreate view view_b for select * from table_acreat

15、e view_b for select * from table_a 答案 :b所在章节 : 第五章 评:创建视图的语法: create view 视图名 as sql 语句29: 在 sqlserver 2005 中,从 product 表里查询出 price(价格) 高于 pname(产品名称) 为 “一 次性纸杯 ”的所有记录,此 sql 语句为()。(选择一项)select* from product where max(price) 一次性纸杯 select* from product where price(select max(*) from product where pnam

16、e= 一次性纸杯 )select* from product where exists pname= 一次性纸杯 select* from product where price(select max(price) from product where pname= 一次性纸 杯)答案 :d所在章节 : 第四章 评:子查询要查询出 一次性子杯 产品的最高价格,然后再实现外查询 30: 在 sqlserver 2005 中,要创建一个 product (产品)表,包括三个字段: pid(编号) int,pname (名称) char(20),qty (数量) int 要求: pid 设为标示列,

17、列值从 1 开始,每次自动加 1:产 品的数量应总是正的值。下列 sql 语句能满足上述条件的是() 。(选择一项)create table product(pid int identiy(1,1),pname char(20) not null,qty int not null constraint chkqty check(qty0)create table product(pid int not null constrain defproductid default 1,pname char(20) not null,qty int not null constraint chkqty

18、check(qty0)create table product(pid int identiy(1,1),pname char(20) not null,qty int not null constraint chkqty unique(qty0)create table product(pid int not null constrain defproductid default 1,pname char(20) not null,qty int not constraint chkqty unique(qty0)答案 :a 所在章节 : 第二章评:标识列是 identity(), 检查约束

19、是 check31:在 sql server 2005 中,与下列 t-sql 语句等效的语句为() 。(选择一项)update a set a1=a1*2 where a2 in (select a2 from b where b1=2 )update a set a1=a1*2 inner join b on b.b1=2update a set a1=a1*2 from a inner join b on b.b1=2update a set a1=a1*2 where a inner join b on a.a2=b.a2 and b.b1=2update a set a1=a1*2

20、from a inner join b on a.a2=b.a2 and b.b1=2 答案: d 所在章节 : 第四章评:子查询与连接查询的转换32:在 sql server2000 中,声明一个最多可以存储 5 个字符的变量 a,正确的代码是() 。(选 择一项)declare a varchar(5)declare a varchar(5)a varchar(5)a varchar(5)答案: b所在章节 : 第三章提示:在 sql 中变量的定义方式: declare 变量名 数据类型33:在 sql server 的安全管理过程中, 以下()的概念类似于 windows 中的用户。(选

21、择一项)权限登录帐户角色存储过程答案: b所在章节 : 第二章评:登录账户类似 windows 用户34: sql server 2005 中,已知执行语句: select count(score),sum(score) from score 返回的结果是 10 和 750,那么执行语句: select avg(score) from score ,返回的结果是() 。(选择一项)10757507500答案: b所在章节 : 第二章提示: avg()求一个列的平均值, count()求一个列中行的个数 sum() 求一个列值的和35: 在 sql server2005 中,与以下 t-sql

22、等效的是() 。(选择一项)update titless set price=price*1.05 where pub_id in ( select pub_id from publishers )update titles set price=price*1.05 where exists ( select pub_id from publishers )update titles set price=price*1.05 from titles where pub_id in publishers.pub_idupdate titles set price=price*1.05 where

23、 titles.pub_id=publishers.pub_idupdate titles set price=price*1.05 form titles inner join publishers on titles.pub_id=publishers.pub_id 答案: d 所在章节 : 第四章 评:子查询与连接查询的转换36: 在 sql server2000 中给定如下的 t-sql 代码,以下说法正确的是() 。(选择一项) create procedure price_proc(count int output,avg_price money output,type char(

24、12)=business) asselect count=count(*),avg_price=avg(price) from titles where type=type建立一个存储过程 price_proc ,所有参数都是输出参数建立一个存储过程 price_proc ,返回的是用户指定图书种类的数量及平均价格count=count(*) 也可以用 count=count() 代替创建存储过程失败, 因为 select 语句中使用了聚合函数, 因此必须使用 group by 进行分 组答案: b 所在章节 : 第四章 提示:创建存储过程 price_proc ,第一个参数和第二个参数都是输

25、出参数,第三个是带默认 值的输入参数 ,输出参数分别表示,计数和平均价格.37: 表的插入和修改的权限,正确的授权语句是( )。(选择一项)grant insert,update to table score on teachergrant insert and update to table score on teachergrant insert,update on score to teachergrant insert and update on score to teacher 答案: c 所在章节 : 第二章 提示:给用户授权的方法是: create 权限 on 表名 to 用户名

26、38: 已知有 student 表,studentid 为主键, 现在表中共有 10 行记录, studentid 列值从 1 到 10。 创建视图: create view dbo.view_student as select * from dbo.student 接着执行如下命令: delete from view_student where (studentid = 8) ; 然后执行查询命令: select * from student ; select * from view_student ; 假定上述命令全部执行成功,将各自返回() ()行记录。10,1010,99,109,9

27、答案: d 所在章节 : 第二章 提示:视图中的数据来自表中,不管是修改表还是修改视图,都是在修改表中的数据39: sql server 数据库中,包含两个表 :order 订单表, item 订单子项目表。 当一个新定单被加入时, 数据要分别保存到 order 和 item 表中,要保证数据完整性,可以使 用以下()语句。 (选择一项)begin transaction insert into order values ( 此处省略 ) insert into item values ( 此处省略 ) end transactionbegin transaction insert into

28、order values ( 此处省略 ) insert into item values ( 此处省略 ) if (error = 0) commit transactionelserollback transactionbegin transactioninsert into order values ( 此处省略 )if (error = 0)insert into item values ( 此处省略 )if (error = 0)commit transactionelserollback transactionelserollback transactionbegin transa

29、ction insert into order values ( 此处省略 ) insert into item values ( 此处省略 ) if (error 0) rollback transaction答案: c 所在章节 : 第五章 提示:处理事务中,同时操作多条 sql 语句时,每条语句执行完成后的状态都应该要检查40: 现有一个学生信息表 student,包含主键 studentid ( 学生编号 )。 又有分数表 scores,包含 studentid( 学生编号 )、以及 score(考试分数 )。已知 student 表中共有 50 个学生,有 45 人参加了考试(分数存

30、在 scores 表中),其中 10 人 不及格。执行以下 sql 语句:select * from student where exists (select studentid from score where score60) 可返回()条记录。 (选择一项)5045100 答案: a 所在章节 : 第四章 评;只要有学生的成绩小于 60 分,就查询所有的学生信息41: create table student(id int identity(1,1),name varchar(20)alter table student add constraint uq_name unique(nam

31、e)insert into student values(null)insert into student values(null)insert into student values(jack )insert into student values(jack )依次执行以上 sql 语句后, student表中存在()行记录。1234答案: b所在章节 : 第二章评:学员的姓名是唯一约束二:多项选择 (共 9 题,每 2分一问 )42:在 sql server 2005 中,现有 orders(订单)表,包含字段: cid(顾客编号) , pid(产品编 号)。若查询既订购了产品 p01,又

32、订购了产品 p02的顾客编号,可以执行以下()sql 语句。 (选择二项)A.select distinct(cid) from orders o1 where o1.pid in (p01, p02 )B.select distinct(cid) from orders o1,orders o2 whereo1.pid= p01and o2.pid= p02 ando1.cid=o2.cidC.select distinct(cid) from orders o1 where pid= pol1ect c iadn fdro cmid oinrd (esres wherepid= po2 )

33、D.select distinct(cid)from orders o1,orderso2 where o1.pid=po1 and o2.pid=答案: bcpo2所在章节 : 第四章评。 B 是条件查询, C是子查询43: 在 sql server 2005 中,创建存储过程如下,要在 students表中查找 age(年龄)是 18岁的 学生,()可以正确的调用这个存储过程。 (选择二项)create procedure myp1 p int asselect studentname,age from students where age = pexec myp1 18exec myp1

34、 p=18exec myp1 p=18exec myp1 p=18 答案: a b 所在章节 :第六章评:执行存储过程时,可以带参数名,也可不带参数名44: 考虑本地图书馆的一个图书借阅和跟踪系统,在 sql server2000 数据库中包含三个表: member(会员信息) , borrow (借阅记录)和 book(图书信息) ,要求:1、每人可以借阅一或多本书;2、每本书一次只能被借给一个人;3、图书馆没有的书籍不能被借阅;要在 borrow 和 book 表中强制这种数据完整性,下列描述中正确的是() 。(选择二项)A.book 表中定义 book_id 为主键, borrow 表中

35、建立外键并与 关系book 表的 book_id 建立引用B.borrow 表中定义 borrow_id 为主键,并对 borrow_id 列建立检查约束C.为 book 表增加一列来记录书是否被借出D.borrow 表中定义 book_id 为主键, book 表中建立外键并与borrow 表的 book_id 建立引用关系答案: a c所在章节 :第一章 评:实体的关系中,多对多的映射关系应当处理为一对多或一对一的映射A 满足 13 的要求, c 满足 2 的要求45: 在 sql server2005 中,已知 course 表的主键是 course_id,现要创建 student 表,此表中的 course_id 列要设为外键, 并与 course表建立引用关系。 下列 sql 语句能满足上述要求的有 ()。 (选择二项)create table student (stu_id varchar(10)not null,name varchar(10),course_id int foreign key on course(cours

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论