Una vista de SQL, es una tabla virtual basada en el conjunto de resultados de una instrucción SQL.
Las vistas contienen filas y columnas, como una tabla real. Los campos de una vista son campos de una o más tablas reales de la base de datos.
Puede agregar instrucciones y funciones SQL a una vista y presentar los datos como si provinieran de una sola tabla.
Las vistas se crean con la sentencia CREATE VIEW.
Sintaxis de CREATE VIEW
CREATE VIEW nombre_nueva_vista AS SELECT columna1, columna2,... FROM nombre_tabla_existente WHERE condicion;
Importante: ¡Una vista siempre muestra datos actualizados! El motor de la base de datos recrea la vista cada vez que un usuario la consulta.
Ejemplos de CREATE VIEW en SQL
CREATE VIEW [Clientes Mexico] AS SELECT Nombre_Cliente, Nombre_Contacto FROM Clientes WHERE Pais = 'Mexico';
Podemos consultar la nueva vista así:
SELECT * FROM [Clientes Mexico];
Esta sentencia crea una vista que selecciona todos los productos de la tabla «Productos» con un precio superior al precio medio:
CREATE VIEW [Productos Precio superior media] AS SELECT Nombre_Producto, Precio FROM Productos WHERE Precio > (SELECT AVG(Precio) FROM [Clientes Mexico]);
Ejecutamos la siguiente sentencia para consultar la vista:
SELECT * FROM [Productos Precio superior media];
Actualizar una Vista en SQL
Una vista se puede actualizar con la sentencia CREATE OR REPLACE VIEW.
Sintaxis de CREATE OR REPLACE VIEW en SQL
CREATE OR REPLACE VIEW nombre_vista AS SELECT columna1, columna2,... FROM nombre_tabla WHERE condicion;
En el siguiente ejemplo, sentencia SQL agrega la columna «Ciudad» a la vista «Clientes de Mexico»:
CREATE OR REPLACE VIEW [Clientes Mexico] AS SELECT Nombre_Cliente, Nombre_Contacto, Ciudad FROM Clientes WHERE Pais = 'Mexico';
Borrar una Vista en SQL
Las vistas se eliminan con la siguiente sentencia SQL, DROP VIEW.
DROP VIEW [Nombre Vista]