SQL Server (Transact-SQL) VIEW 关键字用于创建 SQL Server 视图,它是基于 SQL Server 语句创建的虚拟表。视图包含行和列,就像普通表一样。所有 SQL Server 函数,WHERE、HAVING 和 JOIN 语句可用于创建 SQL Server视图。 SQL Server VIEW 语句可用于创建、更新或删除视图。
语法
在 SQL Server (Transact-SQL) 中使用 VIEW 关键字的语法如下:
/* 创建一个视图 */
CREATE VIEW view_name AS
SELECT column1, column2, column3, ...
FROM table_name
WHERE condition(s);
/* 更新一个视图 */
CREATE OR ALTER VIEW view_name AS
SELECT column1, column2, column3, ...
FROM table_name
WHERE condition(s);
/* 删除一个视图 */
DROP VIEW view_name;
示例:
考虑一个名为 Employee 的数据库表,其中包含以下记录:
EmpID | Name | City | Age | Salary |
---|---|---|---|---|
1 | John | London | 25 | 3000 |
2 | Marry | New York | 24 | 2750 |
3 | Jo | Paris | 27 | 2800 |
4 | Kim | Amsterdam | 30 | 3100 |
5 | Ramesh | New Delhi | 28 | 3000 |
6 | Huang | Beijing | 28 | 2800 |
创建视图
下面提到的SQL Server语句用于在Employee表上创建一个视图,该表包含工资大于2800的员工的所有记录。
CREATE VIEW Employee_Salary_GT_2800 AS
SELECT * FROM Employee WHERE Salary > 2800;
查询视图
创建视图后,可以如下使用:
SELECT * FROM Employee_Salary_GT_2800;
这将产生如下所示的结果:
EmpID | Name | City | Age | Salary |
---|---|---|---|---|
1 | John | London | 25 | 3000 |
4 | Kim | Amsterdam | 30 | 3100 |
5 | Ramesh | New Delhi | 28 | 3000 |
更新视图
CREATE OR ALTER VIEW 语句用于更新视图(如果存在),否则创建一个新视图。
下面的语句用于更新上述视图,该视图包含工资大于2800且年龄大于25岁的员工的所有记录。
CREATE OR ALTER VIEW Employee_Salary_GT_2800 AS
SELECT * FROM Employee WHERE Salary > 2800 AND AGE > 25;
更新视图后,可以进行以下查询用于查看其内容:
SELECT * FROM Employee_Salary_GT_2800;
这将产生如下所示的结果:
EmpID | Name | City | Age | Salary |
---|---|---|---|---|
4 | Kim | Amsterdam | 30 | 3100 |
5 | Ramesh | New Delhi | 28 | 3000 |
删除视图
DROP VIEW 用于删除视图。
DROP VIEW Employee_Salary_GT_2800;