图 介绍: 视图是一个虚拟表,其内容由查询定义,同真实的表一样,视图包含一系列带有名称的列 和行的数据。但是,视图并不在数据库中以存储数据值集形式存在 例如两张表 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; 注意:视图和视图之间可以做复杂联合查询 修改视图: 删除视图:
|