SQL Server - VIEWS
The SQL Server (Transact-SQL) VIEW statement is used to create a SQL Server VIEW which is a virtual table created based on the SQL Server statement. A view contains rows and columns just like a normal table. All SQL Server functions, WHERE, HAVING and JOINs statements can be used to create a SQL Server VIEW. The SQL Server VIEW statement can be used to create, update or delete a view.
Syntax
The syntax for using VIEW statement in SQL Server (Transact-SQL) is given below:
/* Create a view */ CREATE VIEW view_name AS SELECT column1, column2, column3, ... FROM table_name WHERE condition(s); /* Update a view */ CREATE OR ALTER VIEW view_name AS SELECT column1, column2, column3, ... FROM table_name WHERE condition(s); /* Drop a view */ DROP VIEW view_name;
Example:
Consider a database table called Employee with the following records:
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 |
CREATE VIEW
The below mentioned SQL Server statement is used to create a view on Employee table which contains all records of employee whose salary is greater than 2800.
CREATE VIEW Employee_Salary_GT_2800 AS SELECT * FROM Employee WHERE Salary > 2800;
Query the VIEW
After creating the VIEW, it can be used as mentioned below:
SELECT * FROM Employee_Salary_GT_2800;
This will produce the result as shown below:
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
The CREATE OR ALTER VIEW statement is used to update the view if it exists otherwise creates a new view.
The mentioned below statement is used to update the above view which contains all records of employee whose salary is greater than 2800 and age is greater than 25.
CREATE OR ALTER VIEW Employee_Salary_GT_2800 AS SELECT * FROM Employee WHERE Salary > 2800 AND AGE > 25;
After updating the VIEW, the following query can be used to see its content:
SELECT * FROM Employee_Salary_GT_2800;
This will produce the result as shown below:
EmpID | Name | City | Age | Salary |
---|---|---|---|---|
4 | Kim | Amsterdam | 30 | 3100 |
5 | Ramesh | New Delhi | 28 | 3000 |
DROP VIEW
The DROP VIEW is used to delete a view.
DROP VIEW Employee_Salary_GT_2800;