Módulo 8 · Integración

Diagnóstico final y plan de repaso

Comprueba habilidades acumulativas y convierte cada error en una recomendación concreta.

⏱ 45–60 minNivel: EvaluaciónRequisito: Proyecto biblioteca

0 de 40 lecciones

Al terminar esta lección podrás

  • Resolver consultas acumulativas.
  • Corregir errores.
  • Crear un plan de repaso por habilidades.

Antes de empezar: Proyecto biblioteca. Explica en una frase qué recuerdas antes de continuar.

La idea, sin código

La evaluación final no mide memoria aislada. Te pide interpretar, escribir, corregir y justificar consultas. Tras cada bloque debes identificar qué concepto conviene recuperar.

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

Sintaxis mínima

Estructura
-- Interpretar
-- Escribir
-- Corregir
-- Justificar

Primer ejemplo guiado

Datos de ejemplo: tabla clientes
idnombreciudademail
1AnaMadridana@ejemplo.es
2LuisValencialuis@ejemplo.es
3MartaMadridNULL
4OmarSevillaomar@ejemplo.es
5NoraBilbaonora@ejemplo.es
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
SELECT c.ciudad, COUNT(p.id) AS pedidos, SUM(p.total) AS facturacion
FROM clientes AS c
JOIN pedidos AS p ON c.id = p.cliente_id
WHERE p.estado <> 'cancelado'
GROUP BY c.ciudad
ORDER BY facturacion DESC;
Resultado esperado
ciudadpedidosfacturacion
Valencia1189
Bilbao1118
Madrid2109

Qué ocurre paso a paso

  1. JOIN conecta entidades.
  2. WHERE elimina filas antes del resumen.
  3. GROUP BY cambia la unidad del resultado a ciudad.
Comprueba que lo entendiste

Una condición depende de SUM(total). ¿Dónde se filtra?

Error frecuente

Consulta o razonamiento problemático

Revisar
SELECT categoria, AVG(precio) FROM productos WHERE AVG(precio) > 100 GROUP BY categoria;

La media por categoría debe filtrarse con HAVING después de GROUP BY.

Práctica guiada

Básica · apoyo graduado

Resuelve una sola dificultad cada vez

Muestra clientes cuya facturación no cancelada supere 100.

Ahora sin guía

Intermedia · práctica autónoma

Transfiere lo aprendido

Reescribe la consulta para incluir clientes sin pedidos y explicar el tratamiento de NULL.

Comparar con una solución posible
SQL
SELECT c.nombre, COALESCE(SUM(p.total), 0) AS facturacion
FROM clientes AS c
LEFT JOIN pedidos AS p ON c.id = p.cliente_id AND p.estado <> 'cancelado'
GROUP BY c.id, c.nombre;

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

Resumen para llevarte

  • La evaluación debe reflejar lo practicado.
  • Cada error señala una ruta de repaso.
  • Explicar el razonamiento demuestra más que reconocer una opción.

Siguiente paso: Has terminado la ruta principal.

Consulta rápida