PostgreSQL 18 中文参考文档(未翻译部分保留英文)🌐 切换到英文原版 →

3.2. 视图 #

回顾 Section 2.6 中介绍的连接查询。假设你的应用程序需要频繁联合查询天气记录与城市坐标信息,但你不想在每次需要时都重新手写整段复杂的 SQL 连接。你可以针对该查询创建一个视图(view),为该复杂查询赋予一个具名标识,此后便可以像查询普通表一样对其进行检索:

CREATE VIEW myview AS
    SELECT name, temp_lo, temp_hi, prcp, date, location
        FROM weather, cities
        WHERE city = name;

SELECT * FROM myview;

灵活运用视图是实现优秀 SQL 数据库架构设计的关键支柱之一。视图允许你将不断演进的数据表底层物理结构细节,封装在稳定一致的对外接口层之后。

在几乎所有允许使用普通表的地方都可以使用视图。在已有视图的基础上进一步嵌套构建新视图也是非常通用的实践。