GuíaIntermedio
Guía de SQL Avanzado para Consulta
Aprende a consultar una base de datos relacional con SQL de verdad: JOINs a fondo, agregación, subconsultas, CTEs (incluidas las recursivas), window functions y optimización de consultas leyendo el plan de ejecución. Trabajas sobre la base de datos de Reservo, un sistema de reservas de salas de coworking, y sales sabiendo responder preguntas de negocio complejas con una sola consulta bien escrita, legible y eficiente. Cierra con un reporte analítico completo: ingreso por sala y por mes, top socios por gasto, ocupación, tasa de reembolso y ranking.
- 64
- lecciones
- 8
- módulos
- Inglés · Español
- disponible en
- Sí
- certificado
- Gratis
- acceso
Resultados
Lo que vas a poder hacer
- Ir más allá del SELECT básico: expresiones, alias y pensar cada consulta como una pregunta de negocio sobre la base de datos de Reservo
- Dominar JOINs a fondo: INNER JOIN, LEFT JOIN (y las filas sin match), self-join, unir tres o más tablas, ON vs WHERE y el peligro del producto cartesiano
- Agregar datos con COUNT, SUM, AVG, MIN y MAX, usar GROUP BY y HAVING, y combinar agregados con JOIN
- Escribir subconsultas escalares, en WHERE con IN/EXISTS, en FROM como tabla derivada, y correlacionadas — y decidir cuándo cada una le gana a un JOIN
- Simplificar consultas complejas con CTEs (WITH), encadenarlas y escribir CTEs recursivas (WITH RECURSIVE) para jerarquías y series
- Usar window functions: OVER (PARTITION BY... ORDER BY...), ROW_NUMBER, RANK, DENSE_RANK, running totals, LAG/LEAD y top-N por grupo
- Leer el plan de ejecución con EXPLAIN QUERY PLAN, diseñar índices para consultas y evitar predicados no-SARGables y el patrón N+1
- Entregar el reporte analítico completo de Reservo: ingreso por sala y mes, top socios por gasto, ocupación por sala, tasa de reembolso y ranking
Antes de empezar
Qué necesitas traer
Es para ti si...
- Devs y analistas que ya saben SELECT, WHERE y ORDER BY básico y necesitan responder preguntas de negocio complejas con una sola consulta
- Quien se prepara para entrevistas técnicas donde piden escribir JOINs, subconsultas, CTEs o window functions en vivo
- Backend devs que necesitan optimizar consultas lentas leyendo el plan de ejecución
- Analistas de datos que quieren dejar de exportar a hojas de cálculo para hacer lo que SQL ya resuelve
Requisitos y materiales
- SQL básico: SELECT, WHERE, ORDER BY, LIMIT
- Python 3 instalado (el módulo `sqlite3` viene en la librería estándar; no hace falta instalar nada aparte)
- No se requiere experiencia previa con JOINs, subconsultas ni funciones de ventana
Contenido
El temario, módulo por módulo
Abre cualquiera para ver sus lecciones.
- Introducción al Módulo 1: Más allá del SELECT básico
- La consulta como pregunta
- `WHERE` a fondo
- `ORDER BY`, `LIMIT` y `DISTINCT`
- Expresiones y alias
- `CASE WHEN`
- `LIKE` y sus trampas
- Mini-proyecto: responde 5 preguntas de negocio sobre Reservo
- Introducción al Módulo 2: JOINs a fondo
- `INNER JOIN` y la cláusula `ON`
- `LEFT JOIN` y las filas sin match
- El anti-join: encontrar lo que falta
- El self-join
- Unir tres o más tablas
- `ON` vs `WHERE` y el producto cartesiano
- Mini-proyecto: preguntas de Reservo que cruzan tablas
- Módulo 3 — Agregación: preguntas de resumen sobre Reservo
- Las funciones de agregado y qué hacen con NULL
- COUNT(*), COUNT(columna) y COUNT(DISTINCT): tres cuentas distintas
- GROUP BY: colapsar filas en grupos (y la regla de oro)
- Agrupar por una expresión: reservas por mes con strftime
- HAVING vs WHERE: filtrar filas antes, filtrar grupos después
- Agregación sobre JOINs: ingreso por sala (con su nombre) y la trampa del LEFT JOIN
- Mini-proyecto: el resumen de ingresos de Reservo
- Módulo 4 — Subconsultas: una pregunta dentro de otra
- La subconsulta escalar
- Subconsultas en `WHERE` con `IN` y `NOT IN`
- `EXISTS` y `NOT EXISTS`
- La tabla derivada en el `FROM`
- La subconsulta correlacionada
- Subconsulta vs JOIN y la trampa de `NOT IN` con `NULL`
- Mini-proyecto: responder preguntas de Reservo con subconsultas
- Módulo 5 — CTEs: partir una consulta compleja en pasos con nombre
- Qué es una CTE y por qué se trata de legibilidad
- La cláusula WITH: sintaxis, alcance y varias CTEs
- CTEs encadenadas: construir el resultado por pasos
- CTE vs subconsulta vs vista: cuándo usar cada una
- CTEs recursivas: caso ancla, caso recursivo y condición de parada
- La serie de fechas recursiva: un reporte mensual sin huecos
- Mini-proyecto: reescribir con CTEs y armar el reporte mensual sin huecos
- Módulo 6 — Window functions: calcular sobre una ventana de filas sin colapsarlas
- La ventana conserva el detalle Y agrega (a diferencia de `GROUP BY`)
- La cláusula `OVER`: `PARTITION BY` define los grupos, `ORDER BY` el orden
- `ROW_NUMBER`, `RANK` y `DENSE_RANK`: tres formas de numerar, y el empate que las separa
- El running total: `SUM(...) OVER (ORDER BY ...)` = ingreso acumulado
- `LAG` y `LEAD`: mirar la fila anterior o siguiente (el delta mes a mes)
- Top-N por grupo: `ROW_NUMBER` + una CTE (porque el `WHERE` no ve la window)
- Mini-proyecto: los rankings y acumulados del reporte de Reservo
- Módulo 7 — Optimización de consultas: leer el plan y acelerar
- Por qué una consulta es lenta, y cómo leer `EXPLAIN QUERY PLAN`
- Leer `SCAN` vs `SEARCH`: el índice cambia una palabra (y 100× el tiempo)
- Índices para `WHERE`, `JOIN` y `ORDER BY`
- Predicados SARGable: cuando una función sobre la columna apaga el índice
- El patrón N+1: cien consultas donde bastaba una
- Medir antes y después: elegir con datos, no con intuición
- Mini-proyecto: optimiza las consultas lentas de Reservo
- Módulo 8 — El reporte analítico de Reservo: el capstone que teje los siete módulos
- Ingreso por sala y por mes: el primer medidor del tablero
- Top socios por gasto: agregación con ranking
- Ingreso acumulado y variación mes a mes: el odómetro del tablero
- Ocupación por sala: el nivel de gasolina del negocio
- Tasa de reembolso e ingreso neto: la luz de advertencia
- El reporte mensual sin huecos: componer con CTEs recursivas y ventanas
- Entrega del reporte y cierre de la guía
Dónde encaja
Esta guía es parte de algo más grande
Se estudia dentro de estos programas, con acompañamiento y fechas.
Dudas frecuentes
Lo que suele preguntarse
Sin límite. Es una guía gratuita: entras cuando quieras, las veces que quieras.
No. Los módulos están ordenados de menos a más, pero puedes saltar al que necesites. Tu progreso se guarda por lección.
Lo que haga falta está en «Qué necesitas traer», arriba. Si no aparece nada ahí, puedes empezar desde cero.
En el grupo de WhatsApp del Club, y cada quince días hay un live con un instructor donde se resuelven dudas en vivo.
Sí. Al terminar todas las lecciones se emite automáticamente, con un código verificable que puedes compartir en LinkedIn.
No. Esta guía es autoguiada y sin fechas. El bootcamp es en vivo, por cohorte, con entregas que alguien revisa.
Empieza cuando quieras
Lo que dicen los estudiantes
Estas reseñas son de estudiantes inscritos que completaron al menos el 50% del curso. Moderamos las reseñas solo por motivos de contenido (spam, lenguaje ofensivo, datos personales), nunca por ser críticas o negativas.
Aún no hay reseñas aprobadas.
¡Sé el primero en compartir tu experiencia!