Refer back to the queries in Section 1.6. Suppose the annual salary of all the employees in department 20 is of particular interest to your application, but you do not want to type the query each time you need it. You can create a view over the query, which gives a name to the query that you can refer to like an ordinary table.
CREATE VIEW emp_view AS SELECT ename, sal*12 annual_salary FROM emp WHERE deptno = 20; SELECT * FROM emp_view; ename | annual_salary -------+--------------- SMITH | 9600.00 JONES | 35700.00 SCOTT | 36000.00 ADAMS | 13200.00 FORD | 36000.00 (5 rows)
Making liberal use of views is a key aspect of good SQL database design. Views provide a consistent interface that encapsulate details of the structure of your tables which may change as your application evolves.
Views can be used in almost any place a real table can be used. Building views upon other views is not uncommon.