数据库实验四-视图简单使用

本文数据集见实验一

视图

视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。视图的数据变化会影响到基表,基表的数据变化也会影响到视图。

视图的规则和限制:

  • 与表一样,必须唯一命名(不能出现同名视图或表名)
  • 创建视图数目无限制,但要考虑复杂查询创建为视图之后的性能影响
  • 视图不能添加索引,也不能有关联的触发器或者默认值
  • 视图可以提高安全性,必须具有足够的访问权限
  • order by 可以用在视图中,但是如果从该视图检索数据 select 中也含有 order by ,那么该视图中的order by 将被覆盖
  • 视图可以和表一起使用

实验目的

  • 掌握使用SQL命令进行视图的创建、修改和删除。
  • 掌握使用SQL命令对视图访问数据。

实验内容

1.创建一个简单的视图,查询课程号101的不及格的学生信息;

创建视图create view 视图名 as select语句;

create view 学生信息 as select * from XSQK where 学号 in(select 学号 from XS_KC where 课程号='101' and 成绩<60);

在这里插入图片描述

2.修改简单视图,查询课程号107成绩介于70-90的学生信息;

alter view 学生信息 as select * from XSQK where 学号 in(select 学号 from XS_KC where 课程号='107' and 成绩 between 70 and 90);

在这里插入图片描述
3.使用视图访问数据;

select * from 学生信息;

在这里插入图片描述

使用视图访问数据和基本表相同。

4.删除所创建的视图;

使用drop view 视图名;就可以删除视图

drop view 学生信息;

在这里插入图片描述
5.创建一个简单视图,查询“计算机系”学生的信息;

create view 计算机系学生信息 as select * from XSQK where 所在系='计算机';

在这里插入图片描述
6.创建一个简单视图,统计每门课程的选课人数和最高分;

create view 选课人数和最高分 as select 课程名,count(XS_KC.课程号) as 选课人数,max(成绩) as 最高分 from XS_KC,KC where XS_KC.课程号=KC.课程号 group by课程名;

在这里插入图片描述
7.创建一个复杂视图,查询与“俞奇军”住在同一寝室的学生信息,即其联系电话相同;

reate view 俞奇军宿舍学生信息 as select * from XSQK where 联系电话=(select 联系电话 from XSQK where 姓名='俞奇军');

创建视图:
在这里插入图片描述
查询视图:
在这里插入图片描述
8.创建一个复杂视图,查询选修了课程的同学的姓名,课程名及成绩;

create view 已选课学生信息 as select XSQK.姓名,KC.课程名,XS_KC.成绩 from XSQK,XS_KC,KC where(XS_KC.学号=XSQK.学号 and XS_KC.课程号=KC.课程号);

在这里插入图片描述

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值