Al terminar esta lección podrás
- Explorar un esquema.
- Resolver consultas integradas.
- Justificar y comprobar resultados.
Antes de empezar: Todos los módulos anteriores. Explica en una frase qué recuerdas antes de continuar.
La idea, sin código
Trabajarás como analista de una biblioteca. El proyecto se divide en exploración, consultas básicas, relaciones, resúmenes y diagnóstico. Completa una etapa antes de abrir la siguiente solución.
Pregunta guía: ¿qué representa cada fila antes y después de aplicar este concepto?
Sintaxis mínima
-- Etapa 1: explorar
-- Etapa 2: filtrar
-- Etapa 3: relacionar
-- Etapa 4: resumirPrimer ejemplo guiado
| id | titulo | autor_id | disponible |
|---|---|---|---|
| 1 | La sombra del viento | 1 | 1 |
| 2 | Nada | 2 | 0 |
| 3 | El camino | 3 | 1 |
| 4 | Marina | 1 | 1 |
| id | nombre |
|---|---|
| 1 | Carlos Ruiz Zafón |
| 2 | Carmen Laforet |
| 3 | Miguel Delibes |
| 4 | Almudena Grandes |
| id | libro_id | socio | fecha_prestamo | fecha_devolucion |
|---|---|---|---|---|
| 1 | 2 | Nora | 2026-07-01 | NULL |
| 2 | 1 | Álex | 2026-06-20 | 2026-06-30 |
Analiza la consulta antes de comprobar el resultado:
SELECT l.titulo, a.nombre AS autor
FROM libros AS l
JOIN autores AS a ON l.autor_id = a.id
ORDER BY l.titulo;| titulo | autor |
|---|---|
| El camino | Miguel Delibes |
| La sombra del viento | Carlos Ruiz Zafón |
| Marina | Carlos Ruiz Zafón |
| Nada | Carmen Laforet |
Qué ocurre paso a paso
- Identifica primero las tablas y claves.
- Prueba el JOIN antes de añadir más condiciones.
- Comprueba que existe una fila por libro.
Error frecuente
Consulta o razonamiento problemático
JOIN autores ON libros.id = autores.idLa relación correcta utiliza libros.autor_id y autores.id.
Práctica guiada
Resuelve una sola dificultad cada vez
Muestra el título y socio de los préstamos todavía abiertos.
Solución razonada
SELECT l.titulo, p.socio FROM prestamos AS p JOIN libros AS l ON p.libro_id = l.id WHERE p.fecha_devolucion IS NULL;La consulta separa la relación entre tablas del estado del préstamo.
Comprueba: identifica qué parte recupera, filtra, transforma, relaciona o modifica los datos.
Ahora sin guía
Transfiere lo aprendido
Cuenta libros por autor incluyendo autores sin libros.
Comparar con una solución posible
SELECT a.nombre, COUNT(l.id) AS libros
FROM autores AS a
LEFT JOIN libros AS l ON a.id = l.autor_id
GROUP BY a.id, a.nombre
ORDER BY libros DESC, a.nombre;Puede existir otra solución válida. Comprueba que produce el resultado pedido y que puedes explicar cada cláusula.
Resumen para llevarte
- Divide el proyecto en etapas.
- Predice la cardinalidad.
- Justifica cada cláusula y comprueba el resultado.
Siguiente paso: Continúa con Diagnóstico final y plan de repaso.