《江苏科技大学SQLServer笔试题.doc》由会员分享,可在线阅读,更多相关《江苏科技大学SQLServer笔试题.doc(41页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、SQL Server笔试题(Sql2008常见笔试题)试题1: 一 单词解释(2分/个) 34分Data 数据 Database 数据库 RDBMS 关系数据库管理系统 GRANT 授权REVOKE 取消权限 DENY 拒绝权限 DECLARE 定义变量 PROCEDURE存储过程事务 Transaction 触发器 TRIGGER 继续 continue 唯一 unqiue主键 primary key 标识列 identity 外键 foreign key 检查 check约束 constraint二 编写SQL语句(5分/题) 50分 (包含 笔试题问题和解答答案)1) 创建一张学生表,包
2、含以下信息,学号,姓名,年龄,性别,家庭住址,联系电话Create table stu (学号 int ,姓名 varchar(8),年龄 int,性别 varchar(4),家庭地址 varchar(50),联系电话 int);2) 修改学生表的结构,添加一列信息,学历Alter table stu add 学历 varchar(6);3) 修改学生表的结构,删除一列信息,家庭住址Alter table stu drop column 家庭地址4) 向学生表添加如下信息:学号 姓名年龄性别联系电话学历1A22男123456小学2B21男119中学3C23男110高中4D18女114大学Ins
3、ert into stu values(1,A,22,男,123456,小学)Insert into stu values(2,B,21,男,119,中学)Insert into stu values(3,C,23,男,110,高中)Insert into stu values(4,D,18,女,114,大学)5) 修改学生表的数据,将电话号码以11开头的学员的学历改为“大专”Update stu set 学历=大专 where 联系电话 like 11%6) 删除学生表的数据,姓名以C开头,性别为男的记录删除Delect from stu where 性别=男 and 姓名 like c%7
4、) 查询学生表的数据,将所有年龄小于22岁的,学历为“大专”的,学生的姓名和学号示出来Select 姓名,学号 from stu where 年龄= 2002-2-15 AND selldate = 2002-2-15 AND selldate =2002-4-29) AND deptno = 01 3、(答案中的大写单词不允许错误,其他不作要求) ALTER TABLE table1 ADD No_id CHAR(12) NOT NULL CONSTRAINT table1_unique UNIQUE (每空2分,共10分) GROUP BY,HAVING,GROUP BY,HAVING,I
5、N*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*SQL Server数据库试题九及答案一、选择题(每题2分,共30分)1、下面不属于数据定义功能的SQL语句是:( C)A.CREAT TABLE B.CREAT CURSOR C.UPDATE D.ALTER TABLE2、SQL数据库中的视图及下列哪项是对应的(C )。A.关系模式 B.存储模式 C.子模式 D.以上都不是3、下列选项中不是数据库复制类型的是( )。A.快照复制 B.差异复制 C.事务复制 D.合并复制4、下列说法错误的是: (
6、 D)。A.一个基本表可以跨一个或多个存储文件B. 一个存储文件可以跨一个或多个基本表C.每个存储文件及外部存储器上一个物理文件对应D.每个基本表及外部存储器上一个物理文件对应5显示包含警告信息或其他信息的消息框,应该使用的操作是( D)。AEcho BMessage CWarn DMsgBox6、在SQL Server 2000中,索引的顺序和数据表的物理顺序相同的索引是(C )。A.聚集索引 B.非聚集索引 C.主键索引 D.唯一索引7. SQL Server的字符型系统数据类型主要包括( B)。A. Int、money、char B. char、varchar、textC. dateti
7、me、binary、int D. char、varchar、int8、以下选项中哪一项不是访问数据库系统的接口(C )。A.ODBC B.OLE DB C.API D.ADO9、在SELECT语句的WHERE子句的条件表达式中,可以匹配0个到多个字符的通配符是(A )A.* B.% C.- D.?10、SELECT语句中及HAVING子句同时使用的是( C)子句。A.ORDER BY B.WHERE C.GROUP BY D.无需配合1115题使用如下数据:当前盘当前目录下有数据库db_stock,其中有表stock的内容是:股票代码 股票名称 单价 交易所600600 青岛啤酒 7.48 上
8、海600601 方正科技 15.20 上海600602 广电电子 10.40 上海600603 兴业房产 12.76 上海600604 二纺机 9.96 上海600605 轻工机械 14.59 上海000001 深发展 7.48 深圳000002 深万科 12.50 深圳11、有如下SQL语句create view stock_view as select * from stock where 交易所=”深圳”执行该语句后产生的视图包含的记录个数是( B)A.1 B.2 C.3 D.412、有如下SQL语句create view view_stock as select 股票名称 as 名称,
9、单价 from stock执行该语句后产生的视图含有的字段名是(B )A.股票、名称、单价 B.名称、单价C 名称、单价、交易所 D 股票名称、单价、交易所13、执行如下SQL语句后select distinct 单价 from stockwhere 单价=(select min(单价) from stock)into dbf stock_x表stock_x中的记录个数是 (A)A.1 B.2 C.3 D.414、求每个交易所的平均单价的SQL语句是(D )A.SELECT(交易所,avg(单价)FROM stock GROUP BY 单价B. SELECT(交易所,avg(单价)FROM s
10、tock ORDER BY 单价C. SELECT(交易所,avg(单价)FROM stock ORDER BY 交易所D. SELECT(交易所,avg(单价)FROM stock GROUP BY交易所15、在当前盘当前目录下删除表stock的命令是( C)A.DROP stock B.DELETE TABLE stockC.DROP TABLE stock C.DELETE stock二、填空题(每空2分,共30分)1、SQL Server 2000支持5种类型的存储过程:系统存储过程、本地存储过程、远程存储过程临时存储过程、 和扩展存储过程。2、在Microsoft SQL Serve
11、r系统中,数据库备份的类型包括:数据库备份、事务日志备份、差异备份和文件和文件组备份。3、触发器有3种类型,即INSERT类型、UPDATE类型和 DELETE类型。4、TransactSQL语言有4部分元素组成,分别是:数据控制语言(或DCL) 、数据定义语言、数据操作语言(或DML) 和一些附加的语言元素。1、2、3、4、5、事务的4个属性:原子性、一致性、隔离性和持久性。6、ADO的对象模型为层次结构,主要的ADO对象有3个:Connection 、Command 、和Recordset 。7、函数datediff(year,1998-10-12, 2005-1-17)的执行结果是7 ;
12、函数str(1234.56,3,1)的执行结果是 *。三、简答题(共3题,20分) 2、简述INSERT触发器的工作原理(6分)答: 1、 为什么要创建索引(4分)创建索引可以大大提高系统的性能。第一,通过创建唯一性索引,可以保证每一行数据的唯一性。第二,可以大大加快数据的检索速度,这也是所以的最主要原因。第三,可以加速表及表之间的连接,特别是实现数据的参考完整性方面特有意义。第四,在使用ORDER BY和GROUP BY子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。第五,通过使用索引,可以在查询过程中,使用优化隐藏器,提高系统性能。2、 简述INSERT触发器的工作原理(6分)
13、当向表中插入数据时,INSERT触发器触发执行。当INSERT触发器触发时,新的记录增加到触发器表中和inserted表中。该inserted表是逻辑表,保存了所插入记录的拷贝,允许用户参考INSERT语句中的数据。触发器可以检查inserted表,来确定该触发器的操作是否应该执行和如何执行。在inserted表中的哪些记录,总是触发表中一行或多行记录的冗余。3、根据所给的商品库和教学库,按照下列所给的每条SQL查询语句写出相应的功能,或者按照下列所给的每种功能写出相应的SQL查询语句。(每小题2分,共10分)在名称为商品库的数据库中包含有商品表1和商品表2,它们的定义分别为:商品表1(商品代
14、号 char(8),分类名 char(8),单价 float,数量 int)商品表2(商品代号 char(8),产地 char(6),品牌 char(6),)在名称为教学库的数据库中包含有学生、课程和选课三个表,它们的定义分别为:学生(学生号 char(7),姓名 char(6),性别 char(2),出生日期 datetime,专业 char(10),年级 int)课程(课程号 char(4),课程名 char(10),课程学分 int选课(学生号 char(7),课程号 char(4),成绩 int)1select distinct 产地from 商品表2从商品库中查询出所有商品的不同产地
15、。2select *from 学生where 学生号 in (select 学生号from 选课group by 学生号 having count(*)=1) 从教学库中查询出只选修了一门课程的全部学生。3select *from 学生where 学生号 in (select 学生号from 选课group by 学生号 having count(*)=2) or not exists (select *from 选课where 学生.学生号=选课.学生号) 从教学库中查询出最多选修了2门课程(含未选任何课程)的全部学生。4从商品库中查询出每类(即分类名相同)商品的最高单价。select 分类
16、名,max(单价) as 最高单价from 商品表1group by 分类名5从教学库中查询出至少选修了姓名为m1学生所选课程中一门课的全部学生。select distinct 学生.*from 学生,选课where 学生.学生号=选课.学生号 and 课程号=any(select 课程号from 学生,选课where 学生.学生号=选课.学生号 and 姓名=m1)四、设计题(每题4分,共20分)有一个“学生课程”数据库,数据库中包括三个表:(1) “学生”表Student由学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、所在系(Sdept)五个属性组成,可记为: Student(Sno,Sname,Ssex,Sage,Sdept) Sno 为关键字。(2) “课程”表Course由课程号(Cno)