SQL复习例题
1. 是长期存储在计算机内的有组织、可共享的数据集合。
2. SQL Server 2005的⽂件包括:主数据⽂件、次要数据⽂件和。
3. 有关存储过程参数的默认值,下列说法正确的是。
试用期考核(A)输⼊参数必须有默认值(B)带默认值的输⼊参数,⽅便⽤户调⽤(C)带默认值的输⼊参数,⽤户不能再传⼊参数,只能使⽤默认值
(D)输出参数可以带默认值
4. 要查询Information表中姓“王”且单名的学⽣情况,可⽤命令。
5. 触发器的代码可替代原始的更新语句执⾏。
6. 下⾯关于唯⼀索引描述不正确的是。
(A)某列创建了唯⼀索引则这⼀列为主键(B)不允许插⼊重复的列值(C)某列创建主键则该列会⾃动创建唯⼀索引(D)表中可有多个唯⼀索引7. 以下关于视图的描述中,错误的是。
(A)视图不是真实存在的基础表,⽽是⼀张虚表
(B)对通过视图看到的数据进⾏修改时,相应的基本表的数据也要发⽣变化
(C)创建视图时,若其中某⽬标列是聚合函数时,必须指明视图的全部列名
(D)在⼀个语句中,⼀次可以修改⼀个以上的视图对应的基表
8. T-SQL中的全局变量以作前缀。
9. 数据库(DB)、数据库系统(DBS)、数据库管理系统(DBMS)三者的关系,
查妈妈10.⽬前,商品化的数据库管理系统以为主。
11. 某字段希望存放电话号码,该字段应选⽤数据类型。
12. 假设⼀位教师可以讲授多门课程,⼀门课程可由多位教师讲授,则教师
与课程之间是。
13. 关于索引,下列说法不正确的是。
(A)⼀个数据表可以拥有多个聚集索引
(B)聚集索引是⼀种数据表的物理顺序与索引顺序相同的索引
(C)⾮聚集索引是⼀种数据表的物理顺序与索引顺序不相同的索引
(D)唯⼀索引能够确保索引键不包含重复的值
14.下列约束中,可⽤来实现数据表之间依赖关系的是。
(A)主键约束(B)CHECK约束
(C)DEFAULT约束(D)主键约束和外键约束
15. 要给局部变量赋值,如果数据来源于数据表,则应使⽤语句。
16. 带有前缀名为sp的存储过程属于。
17. 要使⽤模糊查询来从数据库中查找与某⼀数据相关的所有元组信息,可
使⽤关键字。
18. SQL Server系统中的所有服务器级系统信息存储于哪个数据
库。
植物图片大全大图19. 为数据表创建索引的⽬的是。
20. 下列不是sql 数据库⽂件的后缀。
(A).mdf(B).ldf(C).dbf(D).ndf
21. SELECT语句中与HAVING短语通常同时使⽤的是()⼦句
(A)ORDER BY (B)WHERE (C)GROUP BY(D)⽆需配合
22. 在T-SQL语⾔中,修改表结构时,应使⽤的命令是。
我与大黑狗
23. 执⾏语句CREATE DATABASE STUDENT的结果是。(A)创建⼀个名为STUDENT的数据库,包括数据⽂件和⽇志⽂件
(B)运⾏失败,因为参数不完整
(C)创建⼀个名为STUDENT的数据库,但是只有默认的数据⽂件,⽆⽇志⽂件
(D)为数据库STUDENT创建⼀个名为STUDENT的表
24. 校长要统计⼀下各个系的学⽣⼈数,下⾯正确的SQL语句
是。
(A)SELECT系名称,AvG(⼈数)FROM学⽣表GROUP BY班级名称(B)SELECT系名称,AvG(⼈数)FROM学⽣表GROUP BY学⽣ID (C)SELECT系名称,SuM(⼈数)FROM学⽣表GROUP BY系名称(D)SELECT系名称,SUM(⼈数)FROM学⽣表GROUP BY班级名称
25. SQL Server 2005 采⽤的⾝份验证模式有_________。
26. 触发器是⼀种特殊类型的,但触发器与它⼜明显不同:触发
器不是通过EXEC命令调⽤,⽽是在时被激活。
27. SQL Server 2005中的全局变量是由系统定义和维护,名称以字
符开始的变量,局部变量是指名称以字符开始,由⽤户⾃⼰定义和赋值的变量。
28. 是SQL Server编排数据的内部⽅法,采⽤它可⽤最快⽅式检索
数据。
29. 是⼀组预编译的SQL语句,可加快查询速度、提⾼安全性、减
少⽹络流量和模块化编程。
30. 如果将查询结果按某⼀列或⼏列进⾏分类统计,即不同⼀列值被放到不
同的组中,可以使⽤⼦句,如果分组后还要按⼀定的条件对这些组进⾏筛选,最重只输出满⾜指定条件组的统计值,可以使⽤⼦句指定筛选条件。
31.在SQL中,alter view和drop view命令分别为______和________视图的命令。
问答题:
1.函数和存储过程有什么区别和联系?
2. 与表相⽐较,视图具有哪些优点?
3. where⼦句和having短语后带的条件有何不同?
4.全局变量和局部变量有什么区别?
鼓神
应⽤题
1.建⼀个学⽣档案表(表名为xsda),其表结构如下:
(1)在表中插⼊⼀个学⽣记录:(20020655,王海,计算机)。
Inrt into xsda(xh,xm,zy)
Values(‘20020655’,’王海’,’计算机’)
(2)查询年龄在20⾄23岁之间的学⽣的姓名、系别和年龄。
(3)计算计算机专业的学⽣平均⼯资。
(4)在csny和zy字段上建⽴⼀个联合⾮聚集索引csny_index。
(5)在表中查询zy是‘计算机’的学⽣的所有信息,并按学号降序排列。
(6)查询表中不同专业的⼈数。
(7)将表中82-01-01前出⽣的⼈的⼯资增加500元。
(1)inrt into xsda(Xh,Xm,Zy)values(‘20020655’,王海’,‘计算机’) (2)lect Xh,Zy,year(getdate())-year(csny) from xsda
where year(getdate())-year(csny) between 20 and 23
南张北周(3)lect avg(gz) from xsda
Group by Zy having Zy=‘计算机’
(4)create uncolustered index
On xsda(csny,zy) (4分)
(5)lect * from xsda where zy=’计算机’order by Xh desc
(6)lect Zy, count(Xm) from xsda group by Zy
2.现有⼀销售表sale,它们结构如下:
Id int (标识号)
codno char(7) (商品编码)
codname varchar(30) (商品名称)
spec varchar(20)(商品规格)
price numeric(10,2)(价格)
llnum int (销售数量)
deptno char(3) (售出分店编码)
lldate datetime (销售时间)求婚大作战日版
完成下列操作:
(1)在sale表中增加⼀列商品简介“info”,数据类型varchar(30)。
(2)创建⼀个02号分店销售出的商品信息视图text1_view。
(3)编写⼀个存储过程pr_text2,将指定商品编码的商品价格通过输出参数返回。
(1) Alter table sale add coclumn info varchar(30)
(2) create view text1_view as lect * from sale where deptno=’02’
(3) create proc pr_text2(@a char(7),@b numeric(10,2) output)
As
Select @b=price from sale where codno=@a
3. 说明下⾯SQL语句的含义(4分)
USE student
go
ALTER TRIGGER score_update_tri
ON score
FOR inrt
AS
Daclare @s_no char(11)
Daclare @c_no char(12)
Select @s_no=infromation.s_no from information,inrted
Where infromation.s_no=inrted.s_no
Select @c_no=cour.c_no from cour,inrted
Where cour.c_no =inrted.c_no
If @s_no is null or @c_no is null
Begin
Rollback transaction
Rairror(‘出错!’,16,10)
End
El
韵母是什么Begin
Print’成功’
End
在score上创建触发器,向score表中添加记录的时候⾃动检查information 表和cour表,检测合法性,若不合法则取消本次更新,若合法则提⽰成功。