数据库基础与应用期末重点复习题(4)

2019-04-02 12:25

二、填空题

1. SQL Server 2000与Windows 2000等操作系统完全集成,可以使用操作系统的用户名和域账号作为数据库的 注册账号 。(08年7月考)

2. SQL Server 2000 采用的结构化查询语言称为 Transaction-SQL 。

3. 常见的SQL Server2000的版本一般包括 企业版 、 标准版 、 个人版 、开发版和评

估版等。(08年7月考)(09年1月考)

4. SQL Server 2000服务管理器的主要作用是启动、 暂停 、 停止 服务器。 5. 安装SQL Server 2000时需要以本地 系统管理员 身份登录操作系统。

6. SQL Server主数据文件、次数据文件和事务日志文件默认的扩展名分别为 mdf 、

___ndf 和 ldf 。(09年1月考判断)

7. SQL Server 2000的数据库分为 系统数据库 和 用户数据库 两种类型。

8. 每个SQL Server 2000数据库下都包括 master 、 model 、 tempdb 和 msdb 四个系统数

据库。

9. SQL Server客户机传递到服务器上的一组完整的数据和SQL语句称为 批处理 。 10. 一般可以使用 Go 命令来标识Transact-SQL 批处理的结束。

11. varchar 数据类型可以自动去掉字段或变量尾部的 空格 以节省空间。(09年1月考判断) 12. 在一个已存在数据的表中增加不带默认值的列,一定要保证所增加的列允许 null 值。

(09年1月考判断)

13. 索引可以加速Select语句中order by 和 group by 选项的执行速度。(09年1月考判断) 14. 聚集索引与非聚集索引相比,查询速度要 快 。(08年1月考)

15. 单行或行尾注释的开始标记为_- - _,多行注释的开始标记为__/*_,结束标记为___

*/__。(08年1月考)

16. 局部变量的开始标记为 @ ,全局变量的开始标记为 @@ 。 09.7考判断 17. 每条__select___语句能够同时为多个变量赋值,每条__set__语句只能为一个变量赋值。(08年7月考)

18. 定义局部变量的语句关键字是 declare ,被定义的各变量之间必须用 逗号 字符分开。 19. 在SQL Server中,每个程序块的开始标记为关键字_being _,结束标记为关键字_end_。 20. 在SQL Server 2000中,CASE结构是一个 函数 ,只能作为一个 表达式 使用在另一

个语句中。(08年1月考)

21. 在SQL Server 2000中,CASE 函数具有 2 种格式,每种格式中可以带有 多 个WHEN

选项,可以带有 1 个ELSE选项。

22. 在条件结构的语句中,关键字IF和ELSE之间和ELSE之后,可以使用__单条__语句,

也可以使用具有_Being…end__格式的语句块。

23. 在循环结构的语句中,当执行到关键字 Break 后将终止整个语句的执行,当执行到

16

关键字 Continue 后将结束一次循环体的执行。

三、根据下面所给的AAA数据库,写出下列每条查询语句的执行结果,或者写出下列每条语句或程序段的功能。

假设存在名为AAA的数据库,包括Students(学号 char(8),姓名 varchar(8),年龄 int,专业 varchar(20),入学日期 DateTime)和Score(学号 char(8),课程名 varchar(10),成绩 numeric(5,2))两张表。

1. SELECT * FROM Students

WHERE DATEPART(year,入学日期)=datepart(year ,GETDATE()) 从Students表中查询出所有当年入学的学生记录 2. DECLARE @MyNO char(8) SET @MyNO=?20030001?

IF (SELECT 专业 from students WHERE 学号=@MyNO)=‘计算机软件’ Begin

Select AVG(成绩) AS 平均成绩 From scroe

Where 学号= @MyNO End Else

Print ?学号为?+@MyNO +?的学生号不存在或不属于软件专业? Go

首先定义一个名为@MyNo的局部变量,并给它赋初值,如果@MyNo属于计算机软件专业,则显示出平均成绩,否则显示“学生为@MyNo的学生不存在或不属于软件专业”。 3. declare @a numeric(5,2) (09.7考) set @a=(select avg(成绩) from score) select * from score where 成绩>=@a

从Score表中查询出大于等于平均成绩的所有记录。 4. declare @a numeric(5,2),@b numeric(5,2) (08年1月考) set @a=(select max(成绩) from score)

17

set @b=(select min(成绩) from score) print @a- @b

求出Score表中最高成绩与最低成绩的分数之差 5. declare @a char(6) set @a='刘亮'

if(exists(select * from students where 姓名=@a)) print '姓名为'+@a+'的同学存在!' else

print '姓名为'+@a+'的同学不存在!'

从Students表中查询出姓名为@a值的学生是否存在,根据不同情况显示出相应信息。 6. declare @a char(8) (08年7月考) set @a='计算机'

select 计算机专业人数=count(*)

from students

Where left(专业,3)= @a

从Students表中统计出专业名开头为@a的值的所有学生人数

7. select year(入学日期) as 入学年份,count(*) as 人数 from students

group by year(入学日期)

从Students表中分组统计出每个年份入学的学生人数

8. select month (入学日期) as 入学月份,count(*) as 人数 (09年1月考) from students

group by month (入学日期)

从Students表中分组统计出每个月份入学的学生人数 9. select day(入学日期) as 入学日号,count(*) as 人数 from students group by day(入学日期)

从Students表中分组统计出每个日号入学的学生人数 10. create procedure xxk1 (09.7考) as begin

select * from students x,score y Where x.学号 = y.学号 End

显示出AAA数据库中所有学生的记录信息及选课成绩 11.create procedure xxk2 (08年1月考)

18

as begin

select x.学号,x.姓名,x.专业,count(*) as 门数 from students x,score y where x.学号=y.学号 group by x.学号,x.姓名,x.专业 end

显示出AAA数据库中每个学生的学号、姓名、专业及选课门数。 12. create procedure xxk3 (08年7月考) as begin

select 学号,avg(成绩) as 平均成绩 from score group by 学号 end

显示出AAA数据库中每个学生的平均成绩

13.create procedure xxk4

( @a char(8),@b varchar(10),@c numeric(5,2) ) as begin update score set 成绩=@c

where 学号=@a and 课程名=@b end

修改Score表中学号为@a的值,课程名为@b的值的学生的成绩为@c的值。 14. create procedure xxk5(07年7月考)

( @a char(8),@b varchar(10),@c numeric(5,2) ) as begin update score insert into score values(@a,@b,@c) end

向Score表中插入学号为@a、课程名为@b、成绩为@c的学生成绩记录。 15.create procedure xxk6 (09年1月考)

19

( @a char(8), @b varchar(10) ) as begin

delete from score

where 学号= @a and 课程名= @b end

从Score表中删除学号为@a、课程名为@b的学生成绩记录。

20


数据库基础与应用期末重点复习题(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2017学年最新人教版三年级数学上册教案设计[1]

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: