SQL Views are virtual tables that represent the result of a SELECT query. They simplify complex queries and present data in a more understandable format. While views don't store data themselves, they provide a convenient way to access and manipulate data without modifying the underlying tables
In this article, we will explain how to create and update SQL views, including various techniques and examples, to help improve our understanding and optimize our database queries.
How to Create a View in SQL
Creating a view in SQL is straightforward. The CREATE VIEW command is used to define a view. The view can be based on a simple or complex query. This SQL command defines a view by selecting specific columns from a table or joining multiple tables based on certain conditions.
Syntax
CREATE VIEW view_name AS
SELECT column1, column2, ...
FROM table_name
WHERE condition;
How to Update a View in SQL
Updating a view in SQL means modifying the data it shows. However, not all views can be updated instantly. Views with complex queries, like those with joins, subqueries, or aggregate functions, may not be directly updatable.
There are two ways to update a view: using the UPDATE keyword or using the CREATE OR REPLACE keyword
- The UPDATE keyword is used to update the view without changing the schema of the table. Update keyword will be used to update the values of the attributes.
- CREATE OR REPLACE keyword is used to update the view where the schema of the the view can also be changed. As the name suggests, if the view is not present it will get created. If view is present then view will get Replaced
Examples of Updating a View
To understand How to Create and Update Views we need a table on which we will perform various operations and queries. Here we will consider a table called Student which contains Roll_No , name, Marks , and Subject as Columns.
Table Student1. Updating View Using IN Operator
This method allows updating the values in the view using the UPDATE keyword. We will set specific conditions to update data in the view. The query for updating the view is as below
Query:
UPDATE view1
SET Marks=50
where Roll_no in (3,5);
Output
view1 (using IN Operator)Explanation:
This query updates the view1 where the Marks
will be set to 50 for the students with Roll_No
3 and 5
2. Updating View Using Arithmetic Operation
We can update the view using arithmetic operations also. Arithmetic operations are used to change the values of attributes present in the view. Here we are updating the view. Marks will be updated using the Marks*0.95 formula. So query for the given condition will be as below.
Query:
UPDATE view1 SET Marks = Marks*0.95;
Output
view1 (using Arithmetic Operation)Explanation:
In this query, the Marks for all students in view1 will be updated to 95% of their current values, effectively applying a scaling factor.
3. Updating View Using Aggregate Function
We can also update the view using the aggregate function. As we are using the aggregate function, we need to change the schema/ structure of the view. So we will CREATE OR REPLACE VIEW to update the view. The query for updating the view using the aggregate function is as below
Query:
CREATE OR REPLACE VIEW view1 AS
SELECT Subject, SUM(Marks) AS TotalMarks
FROM Student
GROUP BY Subject;
Output
view1 (using aggregate function)Explanation:
This query creates or replaces view1 with a new definition that calculates the total marks (SUM(Marks)
) for each subject. The view will now display total marks grouped by subject.
4. Updating View Using Subqueries
The view can be updated using nestes or subqueries. When there is a need for more than a query for updating the view, we can update the view. Here we are using the CREATE OR REPLACE keyword as we need to change the structure of view. The query for updating the view which is using subqueries is as below.
Query:
CREATE OR REPLACE VIEW view1 AS
SELECT Name,
(SELECT SUM(Marks) FROM Student s WHERE s.Subject = Student.Subject) AS TotalMarks
FROM Student;
Output
view1 (using subqueries)Explanation:
Here we created the new attribute TotalMarks which will have a sum of marks of the respective subject and the marks will get assigned to the respective student of that subject. for example, Kartik has the subject math so he will get assigned the sum of scores of all student who has math subject i.e. 170.
Advantages Of View
- Data Access: View helps to restrict the data access and can be used to display the required information from the table without creating a a new table
- Storage Capacity: View takes very little space to store data.
- Usability: View is used to present the data in Proper format as compared to the data present in the tables.
- Consistency: A view represents the database's consistent structure and if the original tables are restructured or changed.
- Query simplicity: Data can be easily presented in structured format from various tables into a single table only.
Conclusion
In conclusion, views in SQL offer a flexible means of manipulating and presenting data. By creating views, users can easily access and display specific data subsets without modifying the original tables. This article has demonstrated how to create views and update them using various techniques, such as the UPDATE keyword, arithmetic operations, aggregate functions, and subqueries. Understanding and effectively using views can greatly enhance database management and query simplicity.
Similar Reads
MySQL - Update View MySQL is a popular open-source relational database management system (RDBMS) that is usually used for developing scalable and high-performance databases. A VIEW serves as a virtual table that interacts with data derived from one or more underlying tables through a defined query. In this article, We
5 min read
PL/SQL UPDATE VIEW In database management, particularly within Oracle Database, the ability to update data through views enhances flexibility, efficiency, and control over data manipulation tasks. Views in Oracle Database act as virtual tables, presenting data from one or more base tables. Although views are commonly
4 min read
MySQL - Rename View MySQL is a popular open-source relational database management system (RDBMS) that is usually used for developing scalable and high-performance databases. MySQL was developed by MySQL AB (currently owned by Oracle Corporation) in 1995. MySQL is known for its robust, easy, and reliable features with q
5 min read
SQL | Views In SQL, a view is a virtual table based on the result-set of an SQL statement. 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. Views in SQL are kind of virtual tables. A View can e
3 min read
SQL Views Views in SQL are a type of virtual table that simplifies how users interact with data across one or more tables. Unlike traditional tables, a view in SQL does not store data on disk; instead, it dynamically retrieves data based on a pre-defined query each time itâs accessed. SQL views are particular
7 min read