1.1. 视图
1.1.1. 什么是视图
视图(VIEW)也被称作虚表,即虚拟的表,是一组数据的逻辑表示,其本质是对应于一条SELECT语句,结果集被赋予一个名字,即视图名字。
视图本身并不包含任何数据,它只包含映射到基表的一个查询语句,当基表数据发生变化,视图数据也随之变化。
创建视图的语法:
01.CREATE [OR REPLACE] VIEW view_name[(alias[, alias…])]
02.AS subquery ;
视图创建后,可以像操作表一样操作视图,主要是查询操作。
语法中的Subquery是SELECT查询语句,对应的表被称作基表。
根据视图所对应的子查询种类分为几种类型:
•SELECT语句是基于单表建立的,且不包含任何函数运算、表达式或分组函数,叫做简单视图,此时视图是基表的子集;
•SELECT语句同样是基于单表,但包含了单行函数、表达式、分组函数或GROUP BY子句,叫做复杂视图;
•SELECT语句是基于多个表的,叫做连接视图。
1.1.2. 视图的作用
如果需要经常执行某项复杂查询,可以基于这个复杂查询建立视图,此后查询此视图即可,简化复杂查询;
视图本质上就是一条SELECT语句,所以当访问视图时,只能访问到所对应的SELECT语句中涉及到的列,对基表中的其它列起到安全和保密的作用,可以限制数据访问。
1.1.3. 授权创建视图
创建视图的DDL语句是CREATE VIEW,用户必须有CREATE VIEW系统权限,才能创建视图。如果没有权限,创建视图时会提示:权限不足。