实验4视图及时间函数.pdf

实验四 视图及时间函数 一、实验目的与要求 熟练掌握使用企业管理器和 T-SQL 语句创建、 查询、更新、修改和删除 视图。 进一步掌握视图与基本表的联系与区别。 掌握部分时间函数的功能及应用。 二、实验内容和步骤 1、创建名为‘地学院’的借书视图,要求: (1)视图中显示所有地学院借过书的学生 及借书的信息; (2 )学生打开视图返回所有行时,各列的名字为:姓名、地学院班级、 书名、定价、借阅时间; create view 地学院 as select 姓名 ,班级 , 书名 ,定价 ,借阅日期 from 学生表 , 图书借阅 where 学生表 .学号 = 图书借阅 .学号 and 学院 like 地学院 2 、在‘地学院’视图中查询出地学院各班级借阅图书的平均价格。 select 班级 ,avg(定价 ) 平均价格 from 地学院 group by 班级 3 、在学生、图书表中查询出借书本书最少的班级及数量。 create view v_book 1 as select 班级 ,count(*) 借书数量 from 学生表 , 图书 where 学生表 .学号 = 图书 .学号 group by 班级 select * from v_book where 借书数量 =(select min( 借书数量 ) from v_book) 4 、在‘地学院’视图中查询出借书本书最少的班级及数量,与上题得出结果进行对比。 select * from (select 班级 ,count(*) 借书数量 from 地学院 group by 班级 )as T1 where 借书数量 =(select min( 借书数量 ) from (select 班级 ,count(*) 借书数量 from 地学院 group by 班级 )as T2) 5 、假定学生、图书表中借书的同学均至今未还,请输出地学院学生姓名、班级、书名、 借书时间长度,单位为‘天’ 。 select 姓名 ,班级 , 书名 ,datediff(dy, 借阅日期 ,getdate())借阅时间长度 from 地学院 where 借阅日期 is not null 2 6 、假定借书时间超过 180 天以后每天罚款 0.5 元,请输出地学院每个班罚款的数额, 单 位元。 create view v_bm as select 班级 ,(datediff(dy, 借阅日期 ,getdate())-180)*0.5 罚款金额 from 地学院 select v_bm. 班级 ,sum( 罚款金额 ) from 地学院 ,v_bm group by v_bm. 班级 7 、举例说明有无 with check option 生成视图之间有哪些差异。 create view 地学院 as select 姓名 ,班级 , 书名 ,定价 ,借阅日期 from 学生表 , 图书借阅 where 学生表 .学号 = 图书借阅 .学号 and 学院 like 地学院 with check option 在该视图中,不能改变学院列的属性信息,也不能在视图中插入一个学院不是地学院的 记录,要进行更新操作时,也要满足 where 语句的条件。 3

文档评论(0)

1亿VIP精品文档

相关文档