sql复习资料1.doc_第1页
sql复习资料1.doc_第2页
sql复习资料1.doc_第3页
sql复习资料1.doc_第4页
sql复习资料1.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

SQLSERVER内部测试一. 选择题1.sql server 2005中,( B )关键字标志着批处理的结束。(选择一项)A.endB.goC.finishD.print2 .sql server 2005中,使用t-sql编程时,下列( C )语句可以从while语句块中退出。(选择一项) A.continueB.exitC.breakD.close3.sql server2000中,使用t_sql编程时,对变量赋值可以使用()或()语句。(选择一项)A.set selectB.print selectC.set makeD.print set4.sql server2005中,要对用户表(user)建立一个约束,保证注册日期(registerdata)默认使用系统当前日期,下面语句正确的是()。(选择一项)A.alter table user add constraint ck_date check(registerdate=getdate()B.alter table user add constraint df_date default(getdate()C.alter table user add constraint df_date default(getdate() for registerdateD.alter table user add constraint df_date default(registerdate=getdate()5.在sqlserver 2005的中,给定创建视图的代码如下:create view abcdselect*from sales where qty90则下划线处应填写的正确关键字为()。 (选择一项)A.onB.asC.alterD.for6.在sqlserver 2005中,对存储过程的描述中正确的是()。 (选择一项)A.定义了一个有相关列和行的集合B.它根据一列或多列的值,提供对数据库表的行的快速访问C.当用户修改数据时,一种特殊形式的存储过程被自动执行D.sql语句的预编译集合7.sqlserver2000中,创建存在储过程的片断如下:创建成功后,以下()调用方式是正确的。 (选择一项)create procedure proc_scorepassed int=60,count int outputasselect count=count(*) from score where scorepassedA.execute proc_score count int outputB.declare count int execute proc_score 70,count outputC.declare count int output execute proc_score70,count tD.execute proc_scorepassed=70,count output8.在sql server查询分析器中运行t-sql语句:select identity其输出值( )。(选择一项)A.A. 可能为0.1B.B. 可能为3C.C. 肯定为0D.D. 不可能为-1009.在sql server2005中,以下()是t-sql语句的注释符号。(选择一项)A./B.-C./D.*10.sql server 2005中,在存储过程中,()语句用来向用户报告错误,并可指定严重级别。(选择一项)A.printB.errorC.raiserrorD.raise11.在sql server 2005中 ,执行以下的t-sql:begin transactionif exists(select title_id from titles where title_id=fc2) begin delete titles where title_id=tc2 rollback transaction printok end若能找到title_id的tc2的记录,将()。(选择一项)A.删除该记录行,不打印任何信息B.不删除该记录行,并且打印okC.删除该记录行,并且打印okD.不除该记录行,也不打印任何信息12. 在sql server2000中,根据以下表设计的代码,判断其设计方面的问题是()。create table member( last_name char(20)null, first_name varchar(30)not null, address_line1 varchar(30)null, address_line2 varchar(30)null, address2_line1 varchar(30)not null, address2_line2 char(30)null, book_id int null) ( 选择一项)A.应该把所有的null修改为not null,而且把notnull修改为nullB.该表有进一步规范化的必要C.把book_id设为主键D.所以字段都应允许为空13. 在sql server2000中,在products(产品)表,包含字段:pname(产品名称)、price(价格)。若要得到最贵产品的产品名称和产品价格,应该使用的查询语句是()。(选择一项)A.A. select top 1 pname,price from products order by priceB.B. select pname,max(price) from productsC.C. select pname,max(price) from products group by pnameD.D. select pname,price from products where price = (select max(price) from product)14. 在sql server2000数据库中,执行如下的sql语句,将( ).print服务器为:+servicenameA.A. 在网格窗口以网格的方式显示当前计算机上的sql服务名称B.B. 在消息窗口以文本的方式显示当前计算机上的sql服务名称C.C. 在网格窗口以网格的方式显示本地服务名称D.D. 在消息窗口以文本的方式显示本地服务名称15. 在sql server2000数据库中,关于视图的说法错误的是 ()。A.A. 视图是一个可以虚拟的表,在物理介质上并不存在B.B. 视图可以查看来自一个或多个表的内存C.C. 修改了视图的数据,原始数据并不会被修改D.D. 使用creat view 来创建视图16.sql server2000中。已知有student 表,表中共有10条status列值为0的记录。创建试图。命令执行的结果是()create view view1 as select * from student where status=0视图创建成功后,执行如下命令:updata view1 set status=1;select * from view1;A.A. 错误提示:不能对视图执行更新操作B.B. 错误提示:不能对视图执行查询操作C.C. 返回10条记录D.D. 返回0条记录17.数据库设计时,在做表规范化的时候一般规范到()就足够了。(选择一项)A.第一范式B.第三范式C.第四范式D.第五范式18.在sql server2000中,为数据库表建立索引能够()。(选择一项)A.防止非法的删除操作B.防止非法的插入操作C.提高查询性能D.节约数据库的磁盘空间19.在sql server 2005中,已知student表中有一个age列,数据类型是int,如果要限制该列的取值范围在15到30之间,可以使用以下sql=15 and age=15 and age=15 and age=15 and age=30)20.sql server 2005中,使用t-sql编程时,输出结果有两种方式:()或()语句。(选择一项)A.set selectB.print selectC.set makeD.print set21.在sql server 2005中,给定如下的t-sql:declare abc intdeclare xyz intset abc=10while abc=100 begin set xyz= case floor(abc/30) when 0 then abc*5 when 1 then abc*10 else abc*20 end set abc=xyzendprint xyz程序最后输出的结果是()。(选择一项)A.50B.500C.100D.以上都不对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)A.查询成功,但是将查询不到任何数据行B.查询成功,可能能够查询到一行或者多行数据C.查询失败,因为在同一张表中进行查询和子查询必须使用表的别名D.查询失败,因为不能同时在一张表中执行多次查询23.在sql server2000中,可以使用全局变量()来获得最后一次插入的标识值。(选择一项)A.datefirstB.identityC.transcountD.rowcount24.sql server 2005中,在查询分析器中调用()系统存储过程可以修改数据库的名称。(选择一项)A.sp_databasesB.sp_renamedbC.sp_tablesD.sp_rename25.在sql server2000数据库中,表stuinfo的属性列stuaddress表示学生居住地址,对stuaddress添加了如下的约束,其意义是()。(选择一项)alter table stuinfo add constraint df_sinaddress default(待定不详) for stuaddressA.stuaddress列不允许为空,已经存在的记录,如果该列为空,则自动填写“待定不详”B.添加新记录时,如果stuaddress列不填,默认填写“待定不详”C.stuaddress列全部修改填写为“待定不详”D.将stuaddress列值为“待定不详”的记录全部划为非法,予以删除26.在sql server2005数据库中,表student中有字段stuname和stuage,与如下语句等值的sql语句为()。假设表中姓名列可以有重复的值.declare age intselect age=stuage from student where stuname=杨超select * from student where stuage=age (选择一项) A.select * from student where stuname=杨超adn stuage=(select stuage from student where stuname=杨超)B.select * from student where stuage = (select stuage from student where stuname=杨超)C.select * from student where stuage in (select stuage from student where stuname=杨超)D.declare age int select * from student where stuage=(select age=stuage from student where stuname=杨超)27.在sql server2005中,以下是表autos的定义:create table autos(make varchar(20)not null,model varchar(20)not null, acquisition_cost money null,acquisition_date datetime null)创建该表后再执行以下语句:truncate table autosbegin traninsert autos(make,model) values(tucker,torpedo)if exists (select * from autos) rollback tranelse commit tran执行结果是()。(选择一项)A.该批处理将失败,因为begin trancommit tran没有正确嵌套B.该批处理结束后,表内没有数据行C.该批处理结束后,表内有一行数据D.插入数据行的语句将失败,并且提示错误信息28.在sql server 2005中,创建视图view_b的代码为()。(选择一项)A.create view view_b as select * from table_aB.create view_b as select * from table_aC.create view view_b for select * from table_aD.create view_b for select * from table_a29.在sqlserver 2005中,从product表里查询出price(价格)高于pname(产品名称)为“一次性纸杯”的所有记录,此sql语句为()。(选择一项)A.select* from product where max(price)一次性纸杯B.select* from product where price(select max(*) from product where pname=一次性纸杯)C.select* from product where exists pname=一次性纸杯D.select* from product where price(select max(price) from product where pname=一次性纸杯)30.在sqlserver 2005中,要创建一个product (产品)表,包括三个字段:pid(编号)int,pname(名称)char(20),qty(数量)int 要求:pid设为标示列,列值从1开始,每次自动加1:产品的数量应总是正的值。下列sql语句能满足上述条件的是()。(选择一项)A.create table product(pid int identiy(1,1),pname char(20) not null,qty int not null constraint chkqty check(qty0)B.create table product(pid int not null constrain defproductid default 1,pname char(20) not null,qty int not null constraint chkqty check(qty0)C.create table product(pid int identiy(1,1),pname char(20) not null,qty int not null constraint chkqty unique(qty0)D.create table product(pid int not null constrain defproductid default 1,pname char(20) not null,qty int not constraint chkqty unique(qty0)31.在sql server 2005中,与下列t-sql语句等效的语句为()。(选择一项)update a set a1=a1*2 where a2 in(select a2 from b where b1=2)A.update a set a1=a1*2 inner join b on b.b1=2B.update a set a1=a1*2 from a inner join b on b.b1=2C.update a set a1=a1*2 where a inner join b on a.a2=b.a2 and b.b1=2D.update a set a1=a1*2 from a inner join b on a.a2=b.a2 and b.b1=232.在sql server2000中,声明一个最多可以存储5个字符的变量a,正确的代码是()。(选择一项)A.declare a varchar(5)B.declare a varchar(5)C.a varchar(5)D.a varchar(5)33.在sql server的安全管理过程中,以下()的概念类似于windows中的用户。(选择一项)A.权限B.登录帐户C.角色D.存储过程34. sql server 2005中,已知执行语句:select count(score),sum(score) from score返回的结果是10和750,那么执行语句:select avg(score) from score,返回的结果是()。(选择一项) A.10 B.75 C.750 D.750035.在sql server2005中,与以下t-sql等效的是()。(选择一项)update titless set price=price*1.05 where pub_id in (select pub_id from publishers)A.update titles set price=price*1.05 where exists(select pub_id from publishers)B.update titles set price=price*1.05 from titles where pub_id in publishers.pub_idC.update titles set price=price*1.05 where titles.pub_id=publishers.pub_idD.update titles set price=price*1.05 form titles inner join publishers on titles.pub_id= publishers.pub_id36.在sql server2000中给定如下的t-sql代码,以下说法正确的是()。(选择一项)create procedure price_proc(count int output,avg_price money output,type char(12)=business)asselect count=count(*),avg_price=avg(price) from titles where type=typeA.建立一个存储过程price_proc,所有参数都是输出参数B.建立一个存储过程price_proc,返回的是用户指定图书种类的数量及平均价格C.count=count(*)也可以用count=count()代替D.创建存储过程失败,因为select语句中使用了聚合函数,因此必须使用group by进行分组37.现有表名称为score,有一个名称为teacher的用户名。要求授予表的插入和修改的权限,正确的授权语句是( )。(选择一项)A.grant insert,update to table score on teacherB.grant insert and update to table score on teacherC.grant insert,update on score to teacherD.grant insert and update on score to teacher38.已知有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; 假定上述命令全部执行成功,将各自返回()()行记录。A.10,10B.10,9C.9,10D.9,939.sql server数据库中,包含两个表:order订单表, item订单子项目表。当一个新定单被加入时,数据要分别保存到order和item表中,要保证数据完整性,可以使用以下()语句。(选择一项)A.begin transaction insert into order values (此处省略) insert into item values (此处省略) end ransactionB.begin transaction insert into order values (此处省略) insert into item values (此处省略) if (error = 0) commit transaction else rollback transactionC.begin transaction insert into order values (此处省略) if (error = 0) insert into item values (此处省略) if (error = 0) commit transaction else rollback transaction else rollback transactionD.begin transaction insert into order values (此处省略) insert into item values (此处省略) if (error 0) rollback transaction40.现有一个学生信息表student,包含主键studentid (学生编号)。又有分数表scores,包含studentid(学生编号)、以及 score(考试分数)。已知student表中共有50个学生,有45人参加了考试(分数存在scores表中),其中10人不及格。执行以下sql语句: select * from student where exists (select studentid from score where score60)可返回()条记录。(选择一项)A.50B.45C.10D.041.create table student(id int identity(1,1),name varchar(20)alter table student add constraint uq_name unique(name)insert into student values(null)insert into student values(null)insert into student values(jack)insert into student values(jack)依次执行以上sql语句后,student表中存在()行记录。A.1B.2C.3D.442.在sql server 2005中,现有orders(订单)表,包含字段:cid(顾客编号),pid(产品编号)。若查询既订购了产品p01,又订购了产品p02的顾客编号,可以执行以下()sql语句。 (选择二项)A.A. select distinct(cid) from orders o1 where o1.pid in (p01,p02)B.B. select distinct(cid) from orders o1,orders o2 where o1.pid=p01 and o2.pid=p02and o1.cid=o2.cidC.C. select distinct(cid) from orders o1 where pid=po1 and cid in (select cid from orders where pid=po2)D.D. select distinct(cid)from orders o1,orderso2 where o1.pid=po1 and o2.pid=po243.在sql server 2005中,创建存储过程如下,要在students表中查找age(年龄)是18岁的学生,()可以正确的调用这个存储过程。(选择二项)create procedure myp1 p int asselect studentname,age from students where age = pA.exec myp1 18B.exec myp1 p=18C.exec myp1 p=18D.exec myp1 p=1844.考虑本地图书馆的一个图书借阅和跟踪系统,在sql server2000数据库中包含三个表:member(会员信息),borrow(借阅记录)和book(图书信息),要求:1、每人可以借阅一或多本书;2、每本书一次只能被借给一个人;3、图书馆没有的书籍不能被借阅;要在borrow和book表中强制这种数据完整性,下列描述中正确的是()。(选择二项)A.book表中定义book_id为主键,borrow表中建立外键并与book表的book_id建立引用关系B.borrow表中定义borrow_i

温馨提示

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

评论

0/150

提交评论