视图是虚拟的表。视图不存储数据,可看作是便于重复调用的SELECT语句的封装
与子查询不同,在使用视图进行查询时,SQL执行器会将外层WHERE等条件传入视图的WHERE条件中进行查询,而不是将视图查询结果作为源数据执行WHERE查询,性能远高于子查询,但由于视图本身并非数据本身,每次调用视图都需要对数据进行一次完整查询。
创建视图
视图中不能使用ORDER BY语句,因为数据表中的数据本身没有顺序,视图可看作一张表,也不能进行数据顺序的指定
示例
视图本身并不存储数据,但可以对视图进行更新(INSERT、UPDATE、DELETE),实际上为更新基数据。但一般应将视图用于检索数据,而非更新数据
并非所有视图都可以执行更新,如视图中包含以下操作,则不允许更新:
GROUP BY / HAVING
JOIN
UNION
子查询
聚合函数(SUM、MIN、COUNT等)
DISTINCT
计算列
查看创建视图的SQL语句
删除视图
联系客服