目录

SQL 视图


SQL 创建视图语句

在 SQL 中,视图是基于 SQL 语句结果集的虚拟表。

视图包含行和列,就像真正的表一样。视图中的字段是来自数据库中一个或多个实际表的字段。

您可以将 SQL 语句和函数添加到视图中并呈现数据,就像数据来自一个表一样。

视图是用以下命令创建的CREATE VIEW陈述。

创建视图语法

CREATE VIEW view_name AS
SELECT column1, column2, ...
FROM table_name
WHERE condition;

笔记:视图始终显示最新数据!每次用户查询时,数据库引擎都会重新创建视图。


SQL 创建视图示例

以下 SQL 创建一个显示来自巴西的所有客户的视图:

示例

CREATE VIEW [Brazil Customers] AS
SELECT CustomerName, ContactName
FROM Customers
WHERE Country = 'Brazil';

我们可以通过如下方式查询上面的视图:

示例

SELECT * FROM [Brazil Customers];

以下 SQL 创建一个视图,选择 "Products" 表中价格高于平均价格的每个产品:

示例

CREATE VIEW [Products Above Average Price] AS
SELECT ProductName, Price
FROM Products
WHERE Price > (SELECT AVG(Price) FROM Products);

我们可以通过如下方式查询上面的视图:

示例

SELECT * FROM [Products Above Average Price];


SQL 更新视图

可以使用以下命令更新视图CREATE OR REPLACE VIEW陈述。

SQL创建或替换视图语法

CREATE OR REPLACE VIEW view_name AS
SELECT column1, column2, ...
FROM table_name
WHERE condition;

以下 SQL 将 "City" 列添加到 "Brazil Customers" 视图:

示例

CREATE OR REPLACE VIEW [Brazil Customers] AS
SELECT CustomerName, ContactName, City
FROM Customers
WHERE Country = 'Brazil';

SQL 删除视图

视图被删除DROP VIEW陈述。

SQL DROP VIEW 语法

DROP VIEW view_name;

以下 SQL 删除 "Brazil Customers" 视图:

示例

DROP VIEW [Brazil Customers];