Existen varias, pero creo que la principal ventaja es que las vistas son la implementación SQL de independencia de datos lógicos.
Cree una vista actualizable, y las aplicaciones que usan la vista son relativamente inmunes a los cambios en las tablas subyacentes. Cambie la estructura de las tablas subyacentes, actualice la definición de la vista y todas las aplicaciones funcionen como si nada hubiese sucedido. (En bases de datos heredadas, puede haber cientos de aplicaciones escritas en docenas de idiomas. Esta es la victoria grande.)
Otros beneficios (parafraseando Chris Fecha)
seguridad "automático" para los datos ocultos. Restrinja el acceso a las vistas y tenga un control detallado sobre quién ve qué.
Capacidad "DRY" para aplicaciones. Una vista puede proporcionar una interfaz pública simple a una instrucción SELECT compleja, por lo que las aplicaciones pueden simplemente SELECT column-list FROM my-easy-view
.
Diferentes usuarios pueden ver los mismos datos de diferentes maneras.