④ 查询与“Annette”(firstname)在同一个出版社工作的职工的firstname; ⑤ 查询在美国工作的员工中工作职务为Editor的员工的fname 和lname; ⑥ 查询在New Moon Books这个出版社工作的员工中job_lvl大于100的职工的姓名和其所作工作的描述;
4、在查询分析器在窗口下用SELECT语句完成集合查询:
查询job_id为5和job_id为6的职工的姓名和职工所在出版社的名字。
第14页
实验六 视图的使用
实验目的:
1、理解视图的基本概念,掌握视图的创建、修改和删除。 2、掌握对视图进行查询和更新。 实验内容:
1、使用企业管理器创建一个名为“view_1”的视图,内容是显示学生表Student中计算机应用技术“040101”的学生的学号、姓名和性别。
2、使用查询分析器创建一个名为“view_2”的视图,内容是显示学生表中没有选修课程的学生的学号、姓名和班级,并且为该视图加密。
3、使用查询分析器修改名为“view_1”的视图,内容修改为显示学生表中男生的学号、姓名、性别和专业代码,并且以后所有对该视图的更新操作都必须符合所设定的条件。
4、查询视图“view_1”中专业代码为‘040102’的学生所有信息。 5、向视图“view_1”中的所有字段插入一条记录。
实验思考:
1、将表stud_info中所有女生记录定义为一个视图(stud_info_female)。 2、对表stud_info定义一个反映学生出生日期的视图(stud_info_birthday)。 3、将表stud_grade中学生的学号及其平均成绩定义为一个视图(stud_grade_average)。
4、通过视图stud_info_female查询所有女生记录的信息。 5、通过查询视图stud_info_birthday查询学生的年龄。
6、向视图stud_info_female中插入一条记录(0402010634,张艳燕,12/06/1986,女,北京市海淀区,010-66571908,100081,565,040201)。 7、使用视图stud_info_female把张艳燕从表stud_info中删除。
第15页
实验七 索引
实验目的:
1、理解索引的概念,掌握索引的创建。
2、理解索引的优缺点,掌握索引的管理和维护。 实验内容:
1、使用企业管理器为学生表stud_info创建一个以stud_id为索引关键字的惟一聚簇索引。
2、将上一步所建立的索引名称修改为new_index。 3、将前述所建立的new_index索引删除。
4、使用T-SQL语句为教师表teacher_info创建一个名为Teacher_Index的惟一非聚簇索引,索引关键字为教师编号teacher_id,降序,填充因子为80%。 5、使用T-SQL语句将教师表中的Teacher_Index删除。
6、为stud_info表创建一个基于“入学成绩mark,学号stud_id”组合列的非聚集、复合索引cj_xh_index。
7、为lesson_info创建一个基于“课程号course_id,课程类型course_type”组合列的惟一、聚集、复合索引kc_lx_index。
第16页
实验八 T-SQL语言
实验目的:
1、掌握Transact-SQL语言中的变量、运算符、函数; 2、掌握Transact-SQL语句编写批处理和流程控制程序。 3、掌握游标的创建,打开,数据读取,关闭,销毁的基本方法 实验内容:
在查询分析器在窗口下用T-SQL语句完成下列操作:
1、从数据表stud_info中,查找学号为0401030213的学生,找到则显示:“您好!XX同学”,否则显示“未找到”。
2、从数据库teacher_info中,选取teacher_id、name、gender,如果gender为“女”则输出“女士”,如果为“男”则输出“先生”。 3、计算1~100之间所有能被3整除的数的个数及总和。 4、计算s=1!+2!+?+10!。
5、输出字符串“School”中每一个字符的ASCII值和字符。
6、从stud_grad表中查询所有同学考试成绩情况,凡成绩为空者输出“未考”,小于60分输出“不及格”,60分(含60分)至70分输出“及格”,70分(含70分)至80分输出“良好”,大于等于80分输出“优秀”。
7、查询pubs数据库的employee表,如果表中雇员的平均服务时间长于10年,则打印信息:‘我们的雇员都很忠诚:)’,否则打印信息:‘我们的雇员经常跳槽:(’。
use pubs go
if (select avg( datediff(year,hire_date,getdate()) ) from employee) > 10 print '我们的雇员都很忠诚:)' else
print '我们的雇员经常跳槽:(' 8、 查询pubs数据库中employee表,显示相关雇员信息(id,姓名,服务时间等),其中增加一个‘雇员类型’列:如果雇佣时间长于12年,则显示他为‘新雇员’,否则显示他为‘老雇员’。
第17页
use pubs go
select
Emp_ID,
LName + '.' + FName '姓名',
datediff(year,hire_date,getdate()) as 'age' , '雇员类型' = case
when datediff(year,hire_date,getdate()) < 12 then '新雇员' when datediff(year,hire_date,getdate()) >= 12 then '老雇员' end From employee Order by age
9、创建一个游标,它所包含的结果集是pubs数据库中titles表中的所有书名(title)。把所有的书名以下面的格式打印出来: Title: The Busy Executive's Database Guide
USE pubs GO
-- Declare the variables to store the values returned by FETCH. DECLARE @title varchar(40) --声明变量存放数据
DECLARE title_cursor CURSOR FOR SELECT title FROM titles ORDER BY title
OPEN title_cursor
-- Perform the first fetch and store the values in variables. -- Note: The variables are in the same order as the columns -- in the SELECT statement.
FETCH NEXT FROM title_cursor --取得数据,存入变量中 INTO @title
-- Check @@FETCH_STATUS to see if there are any more rows to fetch. WHILE @@FETCH_STATUS = 0 --循环执行下面的语句 BEGIN
第18页
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库SQL Server实验指导书(4)在线全文阅读。
相关推荐: