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
certificado
Gratis
acceso
NIEVA

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

Empieza cuando quieras

Reseñas

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!