SQL - CREATE View
What is SQL View
A view in SQL is a virtual table that is stored in the database with an associated name. It
is actually a composition of a table in the form of a predefined SQL query. A view can
contain rows from an existing table (all or selected). A view can be created from one or
many tables. Unless indexed, a view does not exist in a database.
The data in the view does not exist in the database physically. A view is typically created
by the database administrator and is used to −
Structure data in a way that users or classes of users find natural or intuitive.
Restrict access to the data in such a way that a user can see and (sometimes)
modify exactly what they need and no more.
Summarize data from various tables which can be used to generate reports.
The SQL CREATE VIEW Statement
To create a view in a database, you can use the SQL CREATE VIEW statement.
Syntax
Following is the syntax of the SQL CREATE VIEW statement −
CREATE VIEW view_name AS
SELECT column1, column2....
FROM table_name
WHERE [condition];
Example
Assume we have created a table named CUSTOMERS using the CREATE TABLE statement
using the following query −
Open Compiler
CREATE TABLE CUSTOMERS(
ID INT NOT NULL,
NAME VARCHAR (20) NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR (25) ,
SALARY DECIMAL (18, 2),
PRIMARY KEY (ID)
);
Now, insert values into this table using the INSERT statement as follows −
Open Compiler
INSERT INTO CUSTOMERS VALUES
(1, 'Ramesh', 32, 'Ahmedabad', 2000.00 ),
(2, 'Khilan', 25, 'Delhi', 1500.00 ),
(3, 'Kaushik', 23, 'Kota', 2000.00 ),
(4, 'Chaitali', 25, 'Mumbai', 6500.00 ),
(5, 'Hardik', 27, 'Bhopal', 8500.00 ),
(6, 'Komal', 22, 'Hyderabad', 4500.00 ),
(7, 'Muffy', 24, 'Indore', 10000.00 );
Following query creates a view based on the above created table −
CREATE VIEW CUSTOMERS_VIEW AS SELECT * FROM CUSTOMERS;
Verification
You can verify the contents of a view using the select query as shown below −
SELECT * FROM CUSTOMERS_VIEW;
The view is displayed as follows −
ID NAME AGE ADDRESS SALARY
1 Ramesh 32 Ahmedabad 2000.00
2 Khilan 25 Delhi 1500.00
3 Kaushik 23 Kota 2000.00
4 Chaitali 25 Mumbai 6500.00
5 Hardik 27 Bhopal 8500.00
6 Komal 22 Hyderabad 4500.00
7 Muffy 24 Indore 10000.00
Learn SQL in-depth with real-world projects through our SQL certification course. Enroll
and become a certified expert to boost your career.
Create View With WHERE Clause
We can also create a view with only specific records from a table using the where clause
along with the SQL CREATE VIEW statement as shown below −
CREATE VIEW BUYERS_VIEW as SELECT * FROM CUSTOMERS
WHERE SALARY > 3000;
Verification
Following are the contents of the above created view −
SELECT * FROM BUYERS_VIEW;
The view is displayed as follows −
ID NAME AGE ADDRESS SALARY
4 Chaitali 25 Mumbai 6500.00
5 Hardik 27 Bhopal 8500.00
6 Komal 22 Hyderabad 4500.00
7 Muffy 24 Indore 10000.00
The WITH CHECK OPTION Clause
The WITH CHECK OPTION is a CREATE VIEW statement option. The purpose of the WITH
CHECK OPTION is to ensure that all UPDATE and INSERT statements satisfy the
condition(s) specified by the WHERE clause.
If they do not satisfy the condition(s), the UPDATE or INSERT statements return an error.
The following example creates the view named BUYERS_VIEW with the WITH CHECK
OPTION clause.
CREATE VIEW MY_VIEW AS
SELECT name, age
FROM CUSTOMERS
WHERE age >= 25
WITH CHECK OPTION;
The WITH CHECK OPTION in this case should deny the entry and updates of the of records
whose age value is greater than or equal to 25.
Verification
Following are the contents of the above created view −
SELECT * FROM MY_VIEW;
The view is displayed as follows −
NAME AGE
Ramesh 32
Khilan 25
Chaitali 25
Hardik 27