阿里云網(wǎng)站備案好了 怎么建站阿里巴巴運(yùn)營
視圖
Oracle的視圖實(shí)際上是一張或多張表上預(yù)定義查詢,這些表稱為基表
視圖是一個(gè)虛擬表,視圖并不在數(shù)據(jù)庫中存儲(chǔ)數(shù)據(jù)值,數(shù)據(jù)庫中只在數(shù)據(jù)字典中存儲(chǔ)對(duì)視圖的定義
什么時(shí)候用視圖:對(duì)某一個(gè)結(jié)果集頻繁操作的時(shí),可以將該結(jié)果集封裝為一個(gè)視圖。所以所謂的視圖指的就是封裝了一條查詢語句的對(duì)象。
語法
create [or replace] view 視圖名稱 asselect 查詢語句[WITHCHECKOPTION][WITHREADONLY]
[or replace]:如果視圖已存在,則替換舊視圖
[WITH CHECK OPTION]:用于創(chuàng)建限制數(shù)據(jù)訪問的視圖
[WITH READ ONLY]:用于創(chuàng)建只讀視圖
案例
創(chuàng)建一個(gè)視圖
create or replace view v1 asselect 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;
使用視圖
SQL> select v1.* ,e.* from v1,emp e where v1.MAXSAL=e.sal;
結(jié)果