在 SQL(包括 PostgreSQL、MySQL、SQLite、SQL Server、Oracle 等)里,VIEW(视图) 是一个“虚拟表”。它本身不存储数据,只保存一条查询语句(SELECT ...),每次访问视图时,数据库会自动运行这个查询,把结果当成表返回。

1. 创建视图

基本语法:

CREATE VIEW view_name AS
SELECT ...
FROM ...
WHERE ...;

例子:

CREATE VIEW cs_students AS
SELECT id, name, tot_cred
FROM student
WHERE dept_name = 'Comp. Sci.';

2. 修改 / 删除视图

-- 修改定义(有的数据库要写 REPLACE)
CREATE OR REPLACE VIEW cs_students AS
SELECT id, name
FROM student
WHERE dept_name = 'Comp. Sci.';

-- 删除视图
DROP VIEW cs_students;

3. 视图的类型

普通视图

物化视图(Materialized View)

CREATE MATERIALIZED VIEW mv_cs_students AS
SELECT * FROM student WHERE dept_name = 'Comp. Sci.';