SQL para gente de datos: piensa en tablas, no en hojas de cálculo
Al terminar, podrás leer, escribir y depurar consultas SQL de varios pasos que filtran, unen y resumen datos reales, y explicar qué hace cada parte con los términos correctos.
Avanzas a tu ritmo, con tu Maestro que te acompaña en todo el curso. Lo abres desde la página en la que vas y le preguntas lo que quieras; también te pregunta a ti.
59 habilidades · 7 módulos
Oferta por tiempo limitado
USD 5
Vuelve a USD 25 el 14 de octubre.
Incluye tu Maestro para acompañarte 1:1 en todo el curso.
Lo que vas a poder hacer
Cada recuadro es una habilidad. Abajo está la base, reconocer y explicar, y de ahí vas subiendo hasta construir lo tuyo y juzgar qué funciona y por qué. Pasa el cursor sobre un recuadro para ver en qué se apoya. Haz clic para ver dónde lo enseño y cómo lo revisa tu Maestro.
- Evaluar
- Sintetizar
- Analizar
- Aplicar
- Comprender
- Recordar
Evaluar
Decidir si un paso va en SQL o en Python, R o Excel, y justificar la decisión
Dónde lo enseño: Crear y cambiar datos · ¿SQL, o Python, R o Excel?
Se apoya en:
- Explicar que SQL es declarativo: describes el resultado que quieres y el DBMS decide cómo obtenerlo
- Explicar en qué se diferencia una tabla de un DataFrame: vive en la base de datos, no en la memoria de tu sesión
- Resumir por grupo con GROUP BY
- Combinar dos tablas con INNER JOIN por una llave
Tu Maestro te pide juzgar cuándo conviene y por qué y, cuando lo haces, lo guarda como evidencia.
Sintetizar
Diseñar una consulta de varios pasos con CTE que filtre, una y resuma para responder una pregunta
Dónde lo enseño: Consultas más grandes · Proyecto final: una consulta de varios pasos
Se apoya en:
- Dividir una consulta en pasos con nombre usando WITH (expresiones de tabla comunes, CTE)
- Unir tres o más tablas en una consulta siguiendo las llaves del esquema
- Filtrar grupos por una agregación con HAVING
Tu Maestro te pide construir algo propio con ello y, cuando lo haces, lo guarda como evidencia.
Analizar
Seguir el orden lógico en que se evalúan las cláusulas (FROM, WHERE, GROUP BY, HAVING, SELECT, ORDER BY, LIMIT) para predecir qué puede ver cada una
Dónde lo enseño: Preguntarle cosas a una tabla · El orden en que realmente se ejecutan las cláusulas
Se apoya en:
- Filtrar filas con WHERE usando operadores de comparación
- Ordenar resultados con ORDER BY por una o más columnas, de forma ascendente o descendente
- Calcular columnas nuevas con expresiones y renombrar columnas del resultado con AS
- Explicar que SQL es declarativo: describes el resultado que quieres y el DBMS decide cómo obtenerlo
Tu Maestro te pide descomponer un problema con ello y, cuando lo haces, lo guarda como evidencia.
Diagnosticar una consulta que falla a partir de su mensaje de error (columna desconocida, error de sintaxis, alias usado antes de tiempo)
Dónde lo enseño: Preguntarle cosas a una tabla · Leer mensajes de error
Se apoya en:
- Seguir el orden lógico en que se evalúan las cláusulas (FROM, WHERE, GROUP BY, HAVING, SELECT, ORDER BY, LIMIT) para predecir qué puede ver cada una
Tu Maestro te pide descomponer un problema con ello y, cuando lo haces, lo guarda como evidencia.
Diagnosticar un error de GROUP BY causado por una columna seleccionada que no está agrupada ni agregada
Dónde lo enseño: Resumir datos · GROUP BY: una fila de resumen por grupo
Se apoya en:
- Resumir por grupo con GROUP BY
- Seguir el orden lógico en que se evalúan las cláusulas (FROM, WHERE, GROUP BY, HAVING, SELECT, ORDER BY, LIMIT) para predecir qué puede ver cada una
Tu Maestro te pide descomponer un problema con ello y, cuando lo haces, lo guarda como evidencia.
Decidir si un filtro va en WHERE o en HAVING según cuándo se evalúa cada uno
Dónde lo enseño: Resumir datos · HAVING vs. WHERE
Se apoya en:
- Filtrar grupos por una agregación con HAVING
- Seguir el orden lógico en que se evalúan las cláusulas (FROM, WHERE, GROUP BY, HAVING, SELECT, ORDER BY, LIMIT) para predecir qué puede ver cada una
Tu Maestro te pide descomponer un problema con ello y, cuando lo haces, lo guarda como evidencia.
Diagnosticar totales inflados por unir una tabla uno a muchos antes de agregar
Dónde lo enseño: Combinar tablas · Predecir el número de filas, y totales que crecen
Se apoya en:
- Predecir cómo cambia el número de filas de un join en relaciones uno a uno, uno a muchos y muchos a muchos
- Resumir por grupo con GROUP BY
Tu Maestro te pide descomponer un problema con ello y, cuando lo haces, lo guarda como evidencia.
Predecir cómo cambia el número de filas de un join en relaciones uno a uno, uno a muchos y muchos a muchos
Dónde lo enseño: Combinar tablas · Predecir el número de filas, y totales que crecen
Se apoya en:
- Combinar dos tablas con INNER JOIN por una llave
- Explicar qué es una llave primaria: la columna o columnas cuyos valores identifican cada fila de forma única y nunca son NULL
Tu Maestro te pide descomponer un problema con ello y, cuando lo haces, lo guarda como evidencia.
Aplicar
Ejecutar una consulta desde un cliente SQL y leer el conjunto de resultados que muestra
Dónde lo enseño: Tu primera consulta · Conéctate y ejecuta tu primera consulta
Se apoya en:
- Distinguir la base de datos, el DBMS (motor) que la gestiona y el cliente con el que te comunicas
- Explicar qué es una conexión a una base de datos y qué indican sus datos de conexión (host, base de datos, usuario, credenciales)
- Explicar qué es una consulta: una instrucción que se envía al DBMS para pedir datos y que recibe un resultado
Tu Maestro te pide usarlo en un caso nuevo y, cuando lo haces, lo guarda como evidencia.
Escribir un SELECT que devuelva las columnas elegidas de una tabla
Dónde lo enseño: Tu primera consulta · SELECT: elige las columnas que quieres
Se apoya en:
- Ejecutar una consulta desde un cliente SQL y leer el conjunto de resultados que muestra
- Nombrar las partes de una tabla: tabla, fila (registro), columna (campo) y valor
Tu Maestro te pide usarlo en un caso nuevo y, cuando lo haces, lo guarda como evidencia.
Calcular columnas nuevas con expresiones y renombrar columnas del resultado con AS
Dónde lo enseño: Qué hay realmente en una tabla · Columnas calculadas y AS
Se apoya en:
- Escribir un SELECT que devuelva las columnas elegidas de una tabla
- Explicar por qué cada columna tiene un solo tipo de dato y reconocer los tipos comunes de SQL (entero, decimal, texto, fecha, booleano)
Tu Maestro te pide usarlo en un caso nuevo y, cuando lo haces, lo guarda como evidencia.
Referirse a una tabla por su nombre calificado (esquema.tabla) para indicar exactamente cuál es
Dónde lo enseño: Qué hay realmente en una tabla · Esquemas: la palabra con dos significados
Se apoya en:
- Explicar los dos significados de esquema: la estructura de una tabla y un espacio de nombres que agrupa tablas
Tu Maestro te pide usarlo en un caso nuevo y, cuando lo haces, lo guarda como evidencia.
Usar un diagrama de esquema (ERD) para identificar las tablas, sus llaves y cómo se relacionan
Dónde lo enseño: Qué hay realmente en una tabla · Leer un diagrama de esquema
Se apoya en:
- Explicar qué es una llave primaria: la columna o columnas cuyos valores identifican cada fila de forma única y nunca son NULL
- Explicar qué es una llave foránea y cómo relaciona filas de una tabla con filas de otra
Tu Maestro te pide usarlo en un caso nuevo y, cuando lo haces, lo guarda como evidencia.
Filtrar filas con WHERE usando operadores de comparación
Dónde lo enseño: Preguntarle cosas a una tabla · WHERE: quédate solo con las filas que quieres
Se apoya en:
- Escribir un SELECT que devuelva las columnas elegidas de una tabla
Tu Maestro te pide usarlo en un caso nuevo y, cuando lo haces, lo guarda como evidencia.
Comprender
Distinguir la base de datos, el DBMS (motor) que la gestiona y el cliente con el que te comunicas
Dónde lo enseño: Tu primera consulta · Base de datos, DBMS, cliente: tres cosas a las que la gente llama "la base de datos"
Se apoya en:
- Definir una base de datos relacional como una colección organizada de tablas relacionadas, gestionada por software
Tu Maestro te pide explicarlo con tus palabras y, cuando lo haces, lo guarda como evidencia.
Explicar en qué se diferencia una tabla de una hoja de cálculo: sin orden de filas, un tipo por columna, sin direcciones de celda
Dónde lo enseño: Tu primera consulta · Las tablas no son hojas de cálculo
Se apoya en:
- Nombrar las partes de una tabla: tabla, fila (registro), columna (campo) y valor
Tu Maestro te pide explicarlo con tus palabras y, cuando lo haces, lo guarda como evidencia.
Explicar en qué se diferencia una tabla de un DataFrame: vive en la base de datos, no en la memoria de tu sesión
Dónde lo enseño: Tu primera consulta · Las tablas tampoco son DataFrames
Se apoya en:
- Nombrar las partes de una tabla: tabla, fila (registro), columna (campo) y valor
Tu Maestro te pide explicarlo con tus palabras y, cuando lo haces, lo guarda como evidencia.
Explicar que un SELECT devuelve un conjunto de resultados que se muestra, sin guardarse ni asignarse a una variable, a menos que lo guardes
Dónde lo enseño: Tu primera consulta · Qué es una consulta, y por qué no se guarda nada
Se apoya en:
- Explicar qué es una consulta: una instrucción que se envía al DBMS para pedir datos y que recibe un resultado
- Explicar en qué se diferencia una tabla de un DataFrame: vive en la base de datos, no en la memoria de tu sesión
Tu Maestro te pide explicarlo con tus palabras y, cuando lo haces, lo guarda como evidencia.
Explicar qué es una consulta: una instrucción que se envía al DBMS para pedir datos y que recibe un resultado
Dónde lo enseño: Tu primera consulta · Qué es una consulta, y por qué no se guarda nada
Se apoya en:
- Definir una base de datos relacional como una colección organizada de tablas relacionadas, gestionada por software
Tu Maestro te pide explicarlo con tus palabras y, cuando lo haces, lo guarda como evidencia.
Explicar qué es una conexión a una base de datos y qué indican sus datos de conexión (host, base de datos, usuario, credenciales)
Dónde lo enseño: Tu primera consulta · Conéctate y ejecuta tu primera consulta
Se apoya en:
- Distinguir la base de datos, el DBMS (motor) que la gestiona y el cliente con el que te comunicas
Tu Maestro te pide explicarlo con tus palabras y, cuando lo haces, lo guarda como evidencia.
Recordar
Definir una base de datos relacional como una colección organizada de tablas relacionadas, gestionada por software
Dónde lo enseño: Tu primera consulta · Base de datos, DBMS, cliente: tres cosas a las que la gente llama "la base de datos"
Tu Maestro te pide reconocerlo y recordarlo y, cuando lo haces, lo guarda como evidencia.
Nombrar las partes de una tabla: tabla, fila (registro), columna (campo) y valor
Dónde lo enseño: Tu primera consulta · Las tablas no son hojas de cálculo
Se apoya en:
- Definir una base de datos relacional como una colección organizada de tablas relacionadas, gestionada por software
Tu Maestro te pide reconocerlo y recordarlo y, cuando lo haces, lo guarda como evidencia.
Lo que vamos a ver
Tu primera consulta
- Bienvenida: SQL para quienes ya trabajan con datosconsulta
- Base de datos, DBMS, cliente: tres cosas a las que la gente llama "la base de datos"
- Las tablas no son hojas de cálculo
- Las tablas tampoco son DataFrames
- Qué es una consulta, y por qué no se guarda nada
- Conéctate y ejecuta tu primera consulta
- SELECT: elige las columnas que quieres
Qué hay realmente en una tabla
- Tipos, y el valor que no está: NULL
- Columnas calculadas y AS
- Esquemas: la palabra con dos significados
- Llaves primarias y llaves foráneas
- Leer un diagrama de esquema
- Leer vs. escribir, y por qué SQL es declarativo
- Glosario: las palabras hasta ahoraconsulta
Preguntarle cosas a una tabla
- WHERE: quédate solo con las filas que quieres
- IN, BETWEEN y LIKE
- Filtrar NULL: IS NULL, no = NULL
- ORDER BY, LIMIT y DISTINCT
- El orden en que realmente se ejecutan las cláusulas
- Leer mensajes de error
Resumir datos
- Funciones de agregación, y los tres tipos de COUNT
- Cómo cambia NULL una agregación
- GROUP BY: una fila de resumen por grupo
- HAVING vs. WHERE
- De tablas dinámicas, dplyr y pandas a GROUP BY
Combinar tablas
- Cómo funcionan los joins (y por qué no son BUSCARV)
- INNER JOIN y alias de tabla
- LEFT JOIN: conserva todas las filas de la izquierda
- Predecir el número de filas, y totales que crecen
- Unir tres o más tablas
Consultas más grandes
- CASE WHEN: columnas condicionales y conteos condicionales
- Subconsultas: una consulta dentro de otra
- CTE: ponle nombre a tus pasos con WITH
- Leer la consulta de otra persona
- Proyecto final: una consulta de varios pasos
Crear y cambiar datos
- CREATE TABLE e INSERT
- Conservar un resultado: tablas y vistas
- UPDATE y DELETE, con seguridad
- ¿SQL, o Python, R o Excel?
- Lo que sigueconsulta
Tu Maestro conoce este curso
- Siempre sabe en qué página vas.
- Trabaja con las habilidades que escogí para este curso, las del mapa de arriba.
- Si le preguntas cómo vas, te dice lo que ya demostraste y qué sigue.
Lo que recibes
- 7 módulos y 40 páginas, todo abierto para cuando quieras.
Tu Maestro para todo el curso, que conoce cada lección y lo que ya le mostraste. Lo abres desde la página en la que vas.
Quién te va a enseñar
Sergio Sánchez
I'm Sergio, chekos online. I've worked with data for about ten years, mostly at mission-driven organizations: policy research first, then education, and now early childhood services. In 2018 I started tacosdedatos to share what I was learning, and since then it's been a blog, a podcast, courses, guides, and a community. These days I spend a lot of my time building with AI agents and writing about how I organize my work around them. I share what I've learned; you take what's useful and make it yours.
Nos vemos en el curso
SQL para gente de datos: piensa en tablas, no en hojas de cálculo
Oferta por tiempo limitado
USD 5
Vuelve a USD 25 el 14 de octubre.
Incluye tu Maestro para acompañarte 1:1 en todo el curso.