一、定义
视图是从若干基本表和(或)其他视图构造出来的表。
二、作用
1、可以限制对数据的访问,可以给用户授予表的特定部分的访问权限而不是整个表的访问权限。
2、可以使复杂的查询变的简单。在编写查询后,可以方便地重用它而不必知道他的基本查询细节。
3、提供了对相同数据的不同显示
三、创建单表视图
CREATE VIEW MYVIEW1 AS SELECT * FROM EMP;
四、创建或修改一个单表视图
CREATE OR REPLACE VIEW MYVIEW2
AS
SELECT EMPNO,ENAME,JOB,SAL,DEPTNO
FROM EMP
WHERE DEPTNO >=102
运行结果:
五、使用视图添加和修改数据
INSERT INTO MYVIEW1 (EMPNO,ENAME,SAL)VALUES(9999,'AAAA',3000);
六、为视图添加相关权限
CREATE OR REPLACE VIEW MYVIEW2
AS
SELECT EMPNO,ENAME,JOB,SAL,DEPTNO
FROM EMP
WHERE DEPTNO >=20
七、删除视图
DROP VIEW MYVIEW4;
八、统计视图
CREATE OR REPLACE VIEW MYVIEW4
AS
SELECT DEPTNO 部门编号,DNAME 部门名称,AVG(SAL) 平均工资,MAX(SAL) 最高工资,COUNT(*)人数
FROM EMP E
JOIN DEPT D USING(DEPTNO)
WHERE DEPTNO IS NOT NULL
GROUP BY DEPTNO,DNAME
ORDER BY AVG(SAL)
九、基于其他视图的视图
CREATE OR REPLACE VIEW MYVIEW5
AS
SELECT * FROM MYVIEW4
WHERE 部门编号=10
十、视图的优点
1.视图对应一个查询语句;视图是(从若干基本表和(或)其他视图构造出来的)表
2.视图进行查询,添加,修改,删除,其实就是对背后的表进行相应操作
3 虚表 在创建一个视图时,只是存放的视图的定义,也即是动态检索数据的查询语句,而并不存放视图对应的数据
4.视图的好处
1)安全 可以只显示部分行部分列的数据;可以对添加的数据进行检查;可以设置为只读视图
2)操作简单
3) 只显示多个数据库表的部分列,部分行的视图