视图为虚拟的表,它们包含的不是数据而是根据需要检索数据的查询。视图提供了封装select语句的层次,可用来简化数据处理以及重新格式化基础数据或保护基础数据。
如何创建视图?
我们使用create view语法来创建视图
下面语句的作用就是把 select id,name,num from student where id<600 语句的查询结果集存储在视图viewTest中,其中只包含id,name,num字段,利用视图简化复杂联结。
create VIEW viewTest as
select id,name,num
from student
where id<600
然后我们通过以下语句查询viewTest视图,大大减小检索量,只会返回id,name,num字段。
select *
from viewTest
where num = '3118005207'
视图的几个用途:
1、用视图重新格式化检索出的数据
现在,假如我们需要经常获取格式化的数据(例如组合计算查询的数据),我们就可以为这些查询创建视图,每次需要时就使用它,这样就不必在每次都执行联结。
2、用视图过滤和筛选数据
我们可以使用视图应用普通的where子句来过滤和筛选数据
以下示例用视图过滤掉了那些email为空的记录。
create view customerEmailList as
select cust_id,cust_name
from customers
where cust_email is not null
3、使用视图与计算字段
我们也可以给计算字段创建视图来优化查询,示例如下:
select prod_id,
quantity,
item_price,
quantiy\*item_price as expanded_price
from orderItems
where order_num = 20008