A table contains data, a view is just a
SELECT statement which has been saved in the database (more or less, depending on your database).
The advantage of a view is that it can join data from several tables thus creating a new view of it. Say you have a database with salaries and you need to do some complex statistical queries on it.
Instead of sending the complex query to the database all the time, you can save the query as a view and then
SELECT * FROM view
Table is a preliminary storage for storing data and information in RDBMS.
A table is a collection of related data entries and it consists of columns and rows.
A view is a virtual table whose contents are defined by a query.
Unless indexed, a view does not exist as a stored set of data values in a database.
Advantages over table are
- We can combine columns/rows from multiple table or another view and have a consolidated view.
- Views can be used as security mechanisms by letting users access data through the view, without granting the users permissions to directly access the underlying base tables of the view
- It acts as abstract layer to downstream systems, so any change in schema is not exposed and hence the downstream systems doesnt get affected.
A view is a virtual table. A view consists of rows and columns just like a table. The difference between a view and a table is that views are definitions built on top of other tables (or views), and do not hold data themselves. If data is changing in the underlying table, the same change is reflected in the view. A view can be built on top of a single table or multiple tables. It can also be built on top of another view. In the SQL Create View page, we will see how a view can be built.
Views offer the following advantages:
- Ease of use: A view hides the complexity of the database tables from end users. Essentially we can think of views as a layer of abstraction on top of the database tables.
- Space savings: Views takes very little space to store, since they do not store actual data.
- Additional data security: Views can include only certain columns in the table so that only the non-sensitive columns are included and exposed to the end user. In addition, some databases allow views to have different security settings, thus hiding sensitive data from prying eyes.