Views
A view takes the output of a query and makes it appear like a virtual table. You can use a view in most places where a table can be used.
All operations performed on a view will affect data in the base table and so are subject to the integrity constraints and triggers of the base table.
A View can be used to simplify SQL statements for the user or to isolate an application from any future change to the base table definition. A View can also be used to improve security by restricting access to a predetermined set of rows or columns.
In addition to operating on base tables one View can be based on another a view can also JOIN a view with a table (GROUP BY or UNION).
Materialized Views
Materialized views are schema objects that can be used to summarize precompute replicate and distribute data. E.g. to construct a data warehouse.
A materialized view provides indirect access to table data by storing the results of a query in a separate schema object. Unlike an ordinary view which does not take up any storage space or contain any data.
The existence of a materialized view is transparent to SQL but when used for query rewrites will improve the performance of SQL execution. An updatable materialized view lets you insert update and delete.