SQL Views

SQL CREATE VIEW Statement

In SQL, a view is a virtual table based on the result-set of an SQL statement.

A view contains rows and columns, just like a real table. The fields in a view are fields from one or more real tables in the database.

You can add SQL statements and functions to a view and present the data as if the data were coming from one single table.

A view is created with the CREATE VIEW statement.

CREATE VIEW Syntax

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

SQL CREATE VIEW Examples

The following SQL creates a view that shows all customers from Brazil:

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

We can query the view above as follows:

SQL
SELECT * FROM [Brazil Customers]; 

The following SQL creates a view that selects every product in the “Products” table with a price higher than the average price:

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

We can query the view above as follows:

SQL
SELECT * FROM [Products Above Average Price]; 

SQL Updating a View

A view can be updated with the CREATE OR REPLACE VIEW statement.

SQL CREATE OR REPLACE VIEW Syntax

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

The following SQL adds the “City” column to the “Brazil Customers” view:

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

SQL Dropping a View

A view is deleted with the DROP VIEW statement.

SQL DROP VIEW Syntax

SQL
DROP VIEW view_name; 

The following SQL drops the “Brazil Customers” view:

SQL
DROP VIEW [Brazil Customers];