视图
Oracle的视图实际上是一张或多张表上预定义查询,这些表称为基表
视图是一个虚拟表,视图并不在数据库中存储数据值,数据库中只在数据字典中存储对视图的定义
什么时候用视图:对某一个结果集频繁操作的时,可以将该结果集封装为一个视图。所以所谓的视图指的就是封装了一条查询语句的对象。
语法
create [or replace] view 视图名称 as
select 查询语句
[WITHCHECKOPTION]
[WITHREADONLY]
[or replace]:如果视图已存在,则替换旧视图
[WITH CHECK OPTION]:用于创建限制数据访问的视图
[WITH READ ONLY]:用于创建只读视图
案例
创建一个视图
create or replace view v1 as
select tm.*, d.dname
from dept d
left join
(select avg(sal) salavg,max(sal) maxsal, deptno from emp group by deptno) tm
on d.deptno=tm.deptno;
使用视图
结果