0% found this document useful (0 votes)
63 views

SQL Views1

Views in SQL are virtual tables that can be created from one or more real tables in the database. Views can be created using the CREATE VIEW statement and specify which columns and rows to include from the underlying tables. Views can be queried, updated, and manipulated similar to real tables as long as they meet certain conditions. Views provide benefits like security, convenience, and abstraction over base tables.
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
63 views

SQL Views1

Views in SQL are virtual tables that can be created from one or more real tables in the database. Views can be created using the CREATE VIEW statement and specify which columns and rows to include from the underlying tables. Views can be queried, updated, and manipulated similar to real tables as long as they meet certain conditions. Views provide benefits like security, convenience, and abstraction over base tables.
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

SQL | Views

Views in SQL are kind of virtual tables. A view also has rows and columns as
they are in a real table in the database. We can create a view by selecting
fields from one or more tables present in the database. A View can either
have all the rows of a table or specific rows based on certain condition. In
this article we will learn about creating , deleting and updating Views. 
Sample Tables:
StudentDetails

StudentMarks

CREATING VIEWS
We can create View using CREATE VIEW statement. A View can be created
from a single table or multiple tables. Syntax:
CREATE VIEW view_name AS
SELECT column1, column2.....
FROM table_name
WHERE condition;

view_name: Name for the View


table_name: Name of the table
condition: Condition to select rows
Examples:
Creating View from a single table:
 In this example we will create a View named DetailsView from the table
StudentDetails. Query:
CREATE VIEW DetailsView AS
SELECT NAME, ADDRESS
FROM StudentDetails
WHERE S_ID < 5;
 To see the data in the View, we can query the view in the same manner
as we query a table.
SELECT * FROM DetailsView;
Output: 

 In this example, we will create a view named StudentNames from the


table StudentDetails. Query:
CREATE VIEW StudentNames AS
SELECT S_ID, NAME
FROM StudentDetails
ORDER BY NAME;
 If we now query the view as,
SELECT * FROM StudentNames;
Output: 

 Creating View from multiple tables: In this example we will create a


View named MarksView from two tables StudentDetails and
StudentMarks. To create a View from multiple tables we can simply
include multiple tables in the SELECT statement. Query:
CREATE VIEW MarksView AS
SELECT StudentDetails.NAME, StudentDetails.ADDRESS,
StudentMarks.MARKS
FROM StudentDetails, StudentMarks
WHERE StudentDetails.NAME = StudentMarks.NAME;
 To display data of View MarksView:
SELECT * FROM MarksView;
 Output: 
LISTING ALL VIEWS IN A DATABASE
We can list View using the SHOW FULL TABLES statement or using the
information_schema table. A View can be created from a single table or
multiple tables. 
Syntax (Using SHOW FULL TABLES):
use "database_name";
show full tables where table_type like "%VIEW";
Syntax (Using information_schema) :
select * from information_schema.views where table_schema =
"database_name";

OR

select table_schema,table_name,view_definition from


information_schema.views where table_schema = "database_name";
 
DELETING VIEWS
We have learned about creating a View, but what if a created View is not
needed any more? Obviously we will want to delete it. SQL allows us to
delete an existing View. We can delete or drop a View using the DROP
statement. Syntax:
DROP VIEW view_name;

view_name: Name of the View which we want to delete.


For example, if we want to delete the View MarksView, we can do this as:
DROP VIEW MarksView;
UPDATING VIEWS
There are certain conditions needed to be satisfied to update a view. If any
one of these conditions is not met, then we will not be allowed to update the
view.
1. The SELECT statement which is used to create the view should not
include GROUP BY clause or ORDER BY clause.
2. The SELECT statement should not have the DISTINCT keyword.
3. The View should have all NOT NULL values.
4. The view should not be created using nested queries or complex queries.
5. The view should be created from a single table. If the view is created
using multiple tables then we will not be allowed to update the view.
 We can use the CREATE OR REPLACE VIEW statement to add or
remove fields from a view. Syntax:
CREATE OR REPLACE VIEW view_name AS
SELECT column1,column2,..
FROM table_name
WHERE condition;
 For example, if we want to update the view MarksView and add the field
AGE to this View from StudentMarks Table, we can do this as:
CREATE OR REPLACE VIEW MarksView AS
SELECT StudentDetails.NAME, StudentDetails.ADDRESS,
StudentMarks.MARKS, StudentMarks.AGE
FROM StudentDetails, StudentMarks
WHERE StudentDetails.NAME = StudentMarks.NAME;
 If we fetch all the data from MarksView now as:
SELECT * FROM MarksView;

 Output: 
 Inserting a row in a view: We can insert a row in a View in a same way
as we do in a table. We can use the INSERT INTO statement of SQL to
insert a row in a View. 
Syntax:
INSERT INTO view_name(column1, column2 , column3,..)
VALUES(value1, value2, value3..);

view_name: Name of the View


Example: In the below example we will insert a new row in the View
DetailsView which we have created above in the example of “creating views
from a single table”.
INSERT INTO DetailsView(NAME, ADDRESS)
VALUES("Suresh","Gurgaon");
 If we fetch all the data from DetailsView now as,
SELECT * FROM DetailsView;
Output: 
 Deleting a row from a View: Deleting rows from a view is also as simple
as deleting rows from a table. We can use the DELETE statement of SQL
to delete rows from a view. Also deleting a row from a view first delete the
row from the actual table and the change is then reflected in the view. 
Syntax:
DELETE FROM view_name
WHERE condition;

view_name:Name of view from where we want to delete rows


condition: Condition to select rows
Example: In this example, we will delete the last row from the view
DetailsView which we just added in the above example of inserting rows.
DELETE FROM DetailsView
WHERE NAME="Suresh";
 If we fetch all the data from DetailsView now as,
SELECT * FROM DetailsView;
Output: 

You might also like