玩转oracle学习第七天(三)

2015-11-21 02:02:52 · 作者: · 浏览: 19

介绍:
视图是一个虚拟表,其内容由查询定义,同真实的表一样,视图包含一系列带有名称的列
和行的数据。但是,视图并不在数据库中以存储数据值集形式存在

例如两张表 emp表和dept表
1.如果要显示各个雇员的名字和他所在部门的名称,必须用两张表?
2.假定管理员创建一个用户,现在只希望该用户查询sal<1000的那些雇员?

视图和表的区别:
1.表需要占用磁盘空间,视图不需要
2.视图没有索引,表有索引,所以视图查询较表速度慢
3.使用视图可以简化复杂查询
4.使用视图有利于提高安全性
创建视图:
--把emp表的 sal<1000的雇员 映射到该视图(view)
create view myView as select * from emp where sal<1000;
--视图一旦创建成功,就可以当成一个普通表来使用
--为简化操作,用一个视图解决 显示雇员编号,姓名和部门名称,并且为可读视图
create view myView1 as select emp.empno,emp.ename,dept.dname from emp,dept where emp.deptno=dept.deptno with read only;

注意:视图和视图之间可以做复杂联合查询

修改视图:

删除视图: