Funciona assim: muitos sistemas baseados em bancos de dados exigem diversas consultas e relatórios complexos. Por vezes, a complexidade para montar essas consultas é grande demais para que os programadores consigam produzir os resultados desejados. Nesse momento, os administradores de dados, que normalmente são especialistas em SQL, podem escrever as consultas desejadas e transformá-las em uma visão. Após a visão ser criada, os programadores só precisam consultar a visão da mesma forma que se consulta uma tabela, ou seja, uma cláusula do tipo SELECT * FROM <<Nome da Visão>>.
Uma visão é criada a partir de uma cláusula SELECT qualquer, e tem o seguinte layout de criação:
CREATE VIEW <<Nome da visão>> AS <<Cláusula SELECT>>
Usando o banco de dados hipotético da escola, um exemplo bem simples de uma view que mostrasse os alunos registrados para o ano de 2015 seria:
CREATE VIEW Alunos2015 AS SELECT * FROM Alunos WHERE ID_Aluno IN (SELECT ID_Aluno FROM HistoricoEscolar WHERE Ano = 2015)
Criada a visão, para acessar esses registros, bastaria agora apenas uma consulta simples à visão:
SELECT * FROM Alunos2015