Hola! Bienvenida a este libro 🌸
Esto no es un artículo largo: son quince capítulos que se leen en orden, con ejercicios resueltos en cada uno y con todo el código ejecutado de verdad.
Y cuando digo ejecutado lo digo en serio. Cada consulta de este libro corre sobre la base que te vas a descargar, y su resultado se compara con lo que está publicado. Si algún día una salida deja de coincidir, aquí se entera antes que tú 💜
Lo que este libro hace y casi ningún otro
Se enseña "SQL" como si fuera uno solo. Y no lo es.
La persona aprende con SQLite o con MySQL, llega a su primer trabajo donde hay
SQL Server, escribe LIMIT 10 y le sale un error que no entiende. O
peor: escribe algo que sí corre y devuelve otro número, sin avisar.
Así que en este libro, cada vez que los motores se separan, hay una tabla que dice qué se escribe en PostgreSQL, en MySQL, en SQL Server y en SQLite. Los cuatro, siempre, y también cuando la respuesta es "ese no lo tiene".
Un ejemplo de los muchos que vas a ver: pegar dos textos es || en
PostgreSQL y SQLite, CONCAT() en MySQL y + en SQL
Server. Cuatro formas de hacer lo mismo, y quien no lo sabe pierde media
mañana 🫠
Cuál te va a tocar en el trabajo
| Motor | Dónde te lo encuentras | Lo que hay que saber |
|---|---|---|
| PostgreSQL | Startups, productos web, analítica moderna | El más estricto de los cuatro y el más completo. Si escribes pensando en él, tu SQL corre casi en cualquier sitio |
| MySQL | Casi toda la web con WordPress y muchísimo sistema de gestión | El más permisivo. Te deja pasar cosas que los otros no, y ahí nacen los números raros |
| SQL Server | Empresa grande peruana, banca, todo lo que viva en Microsoft | Tiene su propio dialecto, T-SQL, con bastantes palabras propias |
| SQLite | Tu celular, tu navegador y este libro | Es un archivo, no un servidor. Perfecto para aprender y para analizar |
Los cuatro se llaman "SQL" y los cuatro entienden un
SELECT ... FROM ... WHERE idéntico. Lo que cambia son las
funciones, y ese es el mapa que este libro te deja hecho 🗺️
Si lo tuyo no es aprender a consultar sino decidir dónde viven los datos de una empresa, eso es otra conversación y está en arquitectura de datos y en qué hace ingeniería de datos.
Para quién es
Para ti si:
- 🌱 Nunca escribiste una consulta y quieres empezar por algo que sirva de verdad.
- 📊 Vives en Excel y los datos que necesitas ya no caben ahí.
- 💼 Te pidieron SQL en una entrevista y no sabes por dónde empezar.
- 🔀 Ya sabes SQL de un motor y te toca otro, que es la mitad de los sustos de este oficio.
No hace falta saber programar. No hace falta instalar una base de datos. El capítulo 1 empieza por qué es una tabla, y el 2 por descargar un archivo y abrirlo 🐣
Con qué vas a practicar
Con tienda.db, una base SQLite de una distribuidora peruana con
cinco tablas relacionadas de verdad:
- 120 clientes
- 164 direcciones
- 40 productos
- 900 pedidos
- 2.682 líneas de detalle
Y viene con suciedad a propósito, porque es lo que te vas a encontrar: hay 24 pedidos sin cliente, 27 sin monto y 18 nombres con espacios de más y en mayúsculas. Ese desorden está puesto a mano y da para medio libro 🧽
La descargas en el capítulo 2 y no necesitas nada más que un programa gratuito para abrirla.
Qué vas a poder hacer al terminar
- 🔎 Entrar a una base que no conocías y entender qué hay dentro en diez minutos.
- 🧮 Contestar una pregunta de negocio con una consulta, no con una suposición.
- 🔗 Juntar cinco tablas sin inflar la suma sin darte cuenta.
- 🚩 Reconocer los errores que no dan error, que son los caros.
- 🌎 Mover una consulta de un motor a otro sabiendo qué tocar.
- ⚡ Preguntarle a la base por qué tarda, en vez de adivinar.
- 📞 Terminar en algo que alguien pueda usar mañana, que es de lo que va el capítulo 14.
Si quieres el contexto antes de la primera consulta
No hace falta para seguir el libro, pero si te gusta ver el mapa antes de caminarlo:
- 🗃️ Qué es una base de datos, el paso previo al capítulo 1.
- 📊 Excel desde cero, si vienes de ahí y quieres ver en qué se parecen.
- 🐍 Python desde cero, que es con lo que se sigue trabajando lo que sacas con SQL.
Y si quieres hacerlo acompañada
Este libro es gratis y lo va a seguir siendo. Si prefieres trabajarlo conmigo y sobre los datos de tu trabajo, eso es lo que hacemos en el Full Day IA 💜
Y si lo tuyo es la empresa y no el aprendizaje individual, ahí está la consultoría.
Preguntas frecuentes sobre este libro
¿Qué SQL enseña, MySQL o PostgreSQL?
Los cuatro a la vez, y esa es la gracia. Lo ejecutable corre sobre SQLite, porque es lo que puedes tener funcionando en dos minutos sin instalar un servidor. Y cada vez que PostgreSQL, MySQL o SQL Server hacen algo distinto, hay una tabla que lo dice. Terminas sabiendo SQL, no sabiendo un motor.
¿Necesito instalar una base de datos?
No. Descargas un archivo de unos pocos megas y lo abres con un programa gratuito. El capítulo 2 te lleva de la mano y te da dos opciones según lo que prefieras.
¿Cuánto tiempo toma terminarlo?
Cada capítulo se lee en una sentada y se hace en una tarde con sus ejercicios. A un capítulo por semana son unos cuatro meses. A dos por semana, dos meses. Lo que más alarga el plazo casi nunca es el material: es no tener datos propios con los que practicar.
¿Sirve si ya sé algo de SQL?
Sí. Mira los ejercicios de cada capítulo antes de leerlo: si te salen de memoria, avanza. Los que más suelen aportar a quien ya escribe consultas son el 7 (los JOIN y el fan-out que infla las sumas), el 8 (el NOT IN que devuelve cero sin avisar) y el 12 (índices y planes).
¿SQL sigue valiendo la pena en 2026?
Sí, y por una razón concreta: todo lo demás termina leyendo una base. Power BI lee SQL, Python lee SQL, y hasta los asistentes de IA generan SQL que alguien tiene que revisar. Es la única habilidad técnica de datos que lleva cincuenta años sin ser reemplazada.
¿El código de verdad funciona?
Sí, y no es una promesa: cada bloque publicado se ejecuta contra
tienda.db automáticamente y su salida se compara con lo que está
escrito. Los errores también: cuando el libro dice que algo va a fallar, se
comprueba que falle y con ese mensaje.
Una probadita antes de empezar
Dos cosas del capítulo 7, para que veas de qué va esto 💛
Comprueba que lo tienes
Tienes 500 clientes y 1.200 pedidos. Corres SELECT COUNT(*) FROM clientes c LEFT JOIN pedidos p ON p.id_cliente = c.id. ¿Qué número sale?
- 500, porque la tabla izquierda manda
- 1.200 y pico
- 1.700, la suma de las dos tablas
- Depende de los índices
La trampa
Esta la escribí yo, en un reporte de cobranzas. Estuvo tres semanas en producción antes de que alguien de finanzas dijera que el total no le cuadraba.
SELECT c.nombre, SUM(p.monto) AS total FROM clientes c LEFT JOIN pedidos p ON p.id_cliente = c.id LEFT JOIN direcciones d ON d.id_cliente = c.id WHERE c.activo = 1 GROUP BY c.nombre;
Qué está mal
El segundo JOIN. Un cliente con tres direcciones sale tres veces del cruce, así que su monto se suma tres veces. Y lo peor: las direcciones no se usan en ningún lado del SELECT. Alguien las necesitó, luego dejó de necesitarlas, y borró la columna del SELECT pero no el JOIN.
Eso que acabas de ver tiene nombre y capítulo propio: se llama fan-out y está en el 7, medido sobre la base de prácticas.
Después de este libro
El orden que yo recomiendo:
- 🐍 Python desde cero, porque sacas los datos con SQL y los trabajas con pandas.
- 📐 Estadística desde cero, para saber si esa diferencia entre canales es real o es ruido.
- 📈 Power BI desde cero, para que lo que sacaste lo vea alguien que no sabe SQL.
- 🤖 Machine learning desde cero, cuando la pregunta pase de qué pasó a qué va a pasar.
Nos vemos en el capítulo 1. Que tengas un hermoso día! 🌟
Los 15 capítulos
Se leen en orden. Cada uno supone el anterior.
- 1 Qué es SQL y por qué hay cuatro MySQL, SQL Server, PostgreSQL y SQLite: qué comparten, qué no, y cuál te va a tocar en el trabajo.
- 2 Conectarte y mirar lo que hay dentro El cliente que te toca según el motor, y las consultas que se usan para entender una base que no conoces.
- 3 SELECT, WHERE y ORDER BY Pedir, filtrar y ordenar, con la primera diferencia gorda entre los cuatro motores.
- 4 Tipos de dato y nulos Donde están los errores más caros y más silenciosos: la división que da cero y el nulo que se come una suma.
- 5 Texto y fechas, donde los cuatro se separan Limpiar nombres, buscar sin que importen las mayúsculas y hacerle cuentas a una fecha en PostgreSQL, MySQL, SQL Server y SQLite.
- 6 GROUP BY, donde SQL empieza a responder Resumir 900 filas en cuatro números, y la regla que PostgreSQL te exige y SQLite te deja pasar.
- 7 Los JOIN, o cómo juntar dos tablas INNER, LEFT, RIGHT y FULL OUTER contados con filas de verdad, y los dos errores que no dan error.
- 8 Subconsultas y CTE, o cómo pensar en pisos WITH, EXISTS, UNION y el NOT IN que devuelve cero filas sin que nadie te avise.
- 9 Funciones de ventana, sin perder el detalle Rankings, acumulados y el crecimiento mes a mes, con la misma sintaxis en los cuatro motores.
- 10 Crear tablas y escribir en ellas CREATE, INSERT, UPDATE, DELETE y los cuatro autoincrementos, con las restricciones que la base sí cumple.
- 11 Transacciones y UPSERT, la red de seguridad BEGIN, ROLLBACK y "insértalo, y si ya está, actualízalo", que en los cuatro motores se escribe de tres formas distintas.
- 12 Índices y el plan, o por qué tarda Preguntarle a la base qué piensa hacer, y las cuatro cosas que dejan un índice sin usar.
- 13 Vistas, disparadores y lo que SQLite no tiene Consultas con nombre, código que corre solo, y los procedimientos almacenados que en uno de los cuatro motores no existen.
- 14 Proyecto final: el encargo entero "Mira los datos de la tienda y dime cómo vamos", contestado de punta a punta con todo lo del libro.
- 15 Referencias y dónde seguir La documentación oficial de los cuatro motores, las fuentes de las tablas de dialectos y qué leer después.
¿Quieres llevarlo más lejos?
Esta guía te deja operando. El curso te deja diseñando, midiendo y gobernando sistemas de IA que trabajan solos.
Ver los cursos