Skip to content

视图

视图应该只用于查询!

语法

创建 view

sql
CREATE VIEW 视图名称(<视图列名1>, <视图列名2>, ……)
AS
<SELECT语句>

删除 view

sql
DROP VIEW <视图名> CASCADE

PostgreSQL 删除多重视图时,会报错。需要这样:

sql
DROP VIEW <视图名> CASCADE

多重视图

多重视图 会降低 SQL 的性能,使用单一视图。

视图的限制:

  1. DBMS 对 order by 的支持不一
  2. insert 存在限制(使用了聚合) a. 未使用 group by b. 未使用 having c. from 只有一张表 d. select 子句中未使用 distinct