视图
来源:互联网 发布:淘宝买家要求花呗 编辑:程序博客网 时间:2024/05/23 22:17
一、视图的创建:
1 创建信息系学生信息的视图 (is_view) ;
create view is_view(sno,sname,ssex,sage,sdept)
as
select *
from student
where sdept='IS';
2 创建信息系选修了1号课程的学生的视图;
create view is_1_view(sno,sname,ssex,sage,sdept)
as
select student.*
from student,sc
where student.sdept='IS' and sc.sno=student.sno and sc.cno=1;
3 建立信息系选修了1号课程且成绩在90分以上的学生的视图;
create view cs_1_90_view(sno,sname,ssex,sage,sdept)
as
select student.*
from student,sc
where student.sdept='IS' and sc.sno=student.sno and sc.cno=1 and sc.grade>90;
4 创建一个反映学生出生年份的视图
create view birth_view (sno,birth)
as
select sno,Year(GetDate())-sage
from student;
5 将所有女生的记录定义为一个视图;
create view nv_view(sno,sname,ssex,sage,sdept)
as
select *
from student
where ssex='女';
6 将所有学生的学号和他的平均成绩定义为一个视图S_G。
create view S_G(sno,savg)
as
select sno,avg(grade)
from sc
group by sno;
二、 视图结构的修改:
1 将视图 is_view 修改为信息系的所有女生的视图;
drop view is_view;
create view is_view(sno,sname,ssex,sage,sdept)
as
select *
from student
where sdept='IS' and ssex='女';
或者
alter view is_view
as
select sno,sname,ssex,sage,sdept
from student
where sdept='IS' and ssex='女';
三、查询视图
1 在信息系的学生视图中查询年龄小于20岁的学生:
select sno
from is_view
where sage<20;
2 查询信息系选修了1号课程的学生:
select sno
from is_1_view;
3 在视图S_G中查询平均成绩在90分以上的学生的学号和平均成绩:
select sno,savg
from S_G
where savg>90;
四、更新视图:
1 将信息系学生视图is_view中学号为“95002”学生姓名改为”刘辰”;
update is_view
set sname='刘辰'
where sno=95002;
2 向信息系学生视图is_view中插入一个新的学生记录, 学号为95029,姓名为”赵新”, 年龄为20岁;
insert
into is_view(sno,sname,ssex,sage,sdept)
values(95029,'赵新','男',20,'IS');
3 删除信息系学生视图is_view中学号为95004的学生的记录。
delete
from is_view
where sno=95004;
五、删除视图
1 删除视图is_view
drop view is_view;
另外视图表的查询和普通表的查询没有区别,视图表的更新会有一些限制。
由于视图是基于基本表的虚表,所以当基本表变化时视图也会跟着更新,因此一些复杂的连表查询可以直接把需要的数据生成一个视图
- 视图
- 视图
- 视图
- 视图
- 视图
- 视图
- 视图
- 视图
- 视图
- 视图
- 视图
- 视图
- 视图
- 视图
- 视图
- 视图
- 视图
- 视图
- Google Code Jam 2014 -- C
- ORACLE和MYSQL的区别
- java 捕捉错误try-catch
- 多寄存器寻址指令ldmia/ldmib
- Android WebView Memory Leak WebView内存泄漏
- 视图
- C/C++基本数据结构:链表的基本使用和实现
- CentOS下Could not update ICEautority file /var/lib/gdm的解决办法
- mybatis sql in 查询
- redmine如何安装配置svn及邮件
- LOCAL_SHARED_LIBRARIES 与 LOCAL_LDLIBS,LOCAL_LDFLAGS的区别
- Android 代码中添加RelativeLayout布局
- struts实现文件下载
- 判断某天是星期几