Módulo 5 · Consultas avanzadas

Crear y consultar vistas

Reutiliza una consulta mediante un nombre estable.

⏱ 18 minNivel: IntermedioRequisito: Consultas con filtros y JOIN

0 de 40 lecciones

Al terminar esta lección podrás

  • Definir una vista.
  • Consultar una vista.
  • Distinguir definición y almacenamiento de datos.

Antes de empezar: Consultas con filtros y JOIN. Explica en una frase qué recuerdas antes de continuar.

La idea, sin código

Una vista guarda la definición de una consulta. Se consulta como una tabla, aunque normalmente calcula el resultado a partir de los datos actuales.

Pregunta guía: ¿qué representa cada fila antes y después de aplicar este concepto?

Sintaxis mínima

Estructura
CREATE VIEW nombre AS
SELECT ...;

Primer ejemplo guiado

Datos de ejemplo: tabla pedidos
idcliente_idfechatotalestado
10112026-07-0265enviado
10222026-07-04189pendiente
10312026-07-0944enviado
10432026-07-11899cancelado
10552026-07-15118enviado

Analiza la consulta antes de comprobar el resultado:

SQL
CREATE VIEW pedidos_activos AS
SELECT id, cliente_id, total
FROM pedidos
WHERE estado <> 'cancelado';

Qué cambiaría: esta sentencia actúa sobre la estructura o los datos. En el curso se presenta para analizarla; ejecútala únicamente en una base de práctica.

Qué ocurre paso a paso

  1. La vista almacena la consulta, no necesariamente sus filas.
  2. Su nombre permite reutilizar la lógica.
  3. Los permisos y capacidades de actualización dependen del motor.
Comprueba que lo entendiste

¿Una vista normal suele guardar una copia independiente de los datos?

Error frecuente

Consulta o razonamiento problemático

Revisar
CREATE VIEW pedidos_activos SELECT * FROM pedidos;

Falta AS entre el nombre de la vista y la consulta.

Práctica guiada

Básica · apoyo graduado

Resuelve una sola dificultad cada vez

Define una vista productos_disponibles con id, nombre y stock mayor que 0.

Ahora sin guía

Intermedia · práctica autónoma

Transfiere lo aprendido

Escribe cómo consultarías la vista productos_disponibles ordenada por stock.

Comparar con una solución posible
SQL
SELECT nombre, stock
FROM productos_disponibles
ORDER BY stock DESC;

Puede existir otra solución válida. Comprueba que produce el resultado pedido y que puedes explicar cada cláusula.

Resumen para llevarte

  • Una vista encapsula una consulta.
  • Se consulta mediante SELECT.
  • Documenta claramente su propósito y dependencias.

Siguiente paso: Continúa con Funciones de ventana y ROW_NUMBER.

Consulta rápida