视图是虚拟的表,与包含数据的表不同,视图只包含使用时动态检索数据的查询。
比如说我使用一条SELECT语句检索三个表,任何想使用这个查询的人都必须理解相关表的结构,知道如何去对表进行联结。
现在我们可以把这一个复杂的查询封装成一个虚拟表XXTABLE,那我们就可以直接SELECT……FROM XXTABLE 就可以了,它封装了复杂的联结。
因此视图的常见应用有:
- 简化SQL操作。再编写了查询后,可以通过视图方便地重用它而不用知道具体的查询细节。
- 使用表的一部分而不是整个表
- 保护数据。可以授予用户访问表的特定部份的权限,而不是整个表的权限
- 更改数据格式和表示:视图可以返回与底层表的表示和格式不同的数据。
创建视图之后,可以用与表基本相同的方式来使用它们,可以对视图进行SELECT操作、过滤和排序数据,将视图联结到其他视图或者表等。
同时,视图也有一些限制:
- 视图必须唯一命名
- 视图不能索引
创建视图:
CREATE VIEW TeacherStudent AS
SELECT …………
使用视图
SELECT……FROM TeacherStudent ……