Saltar al contenido principal
Intermedio
15 min de lectura

Vistas

Tablas virtuales basadas en consultas SELECT

Una vista (VIEW) es una tabla virtual cuyo contenido está definido por una consulta SELECT.

Crear una vista

sql
1CREATE VIEW usuarios_activos AS2SELECT id, nombre, email, fecha_registro3FROM usuarios4WHERE activo = true;

Usar una vista

sql
1SELECT * FROM usuarios_activos ORDER BY fecha_registro DESC;

Vista con JOINs

sql
1CREATE VIEW resumen_ventas AS2SELECT 3    p.nombre as producto,4    c.nombre as categoria,5    v.cantidad,6    v.total,7    v.fecha8FROM ventas v9JOIN productos p ON v.producto_id = p.id10JOIN categorias c ON p.categoria_id = c.id;

Sintaxis

Sintaxis
sql
1CREATE [OR REPLACE] VIEW nombre_vista AS2SELECT consulta;

Ejemplos

Crear vista de usuarios con posts

Vista que combina usuarios y sus posts

Ejemplo
sql
1CREATE VIEW usuarios_con_posts AS2SELECT u.id, u.nombre, COUNT(p.id) as total_posts3FROM usuarios u4LEFT JOIN posts p ON u.id = p.usuario_id5GROUP BY u.id, u.nombre;6 7SELECT * FROM usuarios_con_posts;

Resultado:

| id | nombre | total_posts |
|----|--------|-------------|
| 1  | Ana    | 5           |
| 2  | Carlos | 3           |
| 3  | Laura  | 0           |