# SQL desde cero

URL canónica: https://missyera.com/guias/sql-desde-cero/
Última actualización: 2026-11-14
Autora: Gera Flores (Miss Yera)

> **Respuesta corta**
>
> SQL se aprende en cinco tramos y en este orden: leer y filtrar con SELECT y WHERE, resumir con GROUP BY, combinar tablas con JOIN, calcular sin agrupar con funciones de ventana, y por último crear y modificar tablas. Y hay algo que casi ningún curso dice: no existe un solo SQL. El 80% es igual en PostgreSQL, MySQL, SQL Server y SQLite, y el 20% que cambia es justo el que aparece tu primer día de trabajo. Este libro lo marca capítulo por capítulo.

Veintitrés capítulos con el código comprobado, y las diferencias entre PostgreSQL, MySQL, SQL Server y SQLite marcadas una por una.

## Hola! Bienvenida a este libro 🌸

Esto no es un artículo largo: son veintitrés 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](https://missyera.com/blog/arquitectura-de-datos-guia-empresas/) y en [qué hace ingeniería de datos](https://missyera.com/blog/ingenieria-de-datos-que-es-y-que-hace/).

## 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.

## El cuaderno, si prefieres tocarlo

Hay un cuaderno con el recorrido principal del libro sobre esa misma base: los NULL, el `GROUP BY`, los JOIN con el fan-out que infla las sumas y las funciones de ventana. Se abre en el navegador y no hace falta instalar ningún gestor de bases de datos.

Consulta una base de verdad

El cuaderno corre de arriba abajo y no necesitas instalar nada: ábrelo en Google Colab y ejecuta. Se baja la base solo y todas las consultas son SQL de verdad.

[Descargar el cuaderno](https://missyera.com/static/cuadernos/sql-desde-cero.ipynb) [Descargar la base (SQLite)](https://missyera.com/static/datasets/tienda.db)

**Para abrirlo:** descarga el cuaderno, entra a [Google Colab](https://colab.research.google.com), elige Subir y arrástralo. La base la baja el cuaderno solo, así que no hace falta descargarla salvo que quieras abrirla con un visor.

Y hay algo más, que es lo que de verdad se usa para practicar: **cada capítulo tiene su propio cuaderno**, con su código y sus ejercicios con una celda vacía debajo para que los hagas tú. El botón está al final de cada capítulo, y al lado va el de soluciones para cuando ya te hayas peleado un rato 📓

![Ruta de aprendizaje de SQL en seis pasos: SELECT y WHERE, GROUP BY, JOINs, funciones de ventana, DDL y DML, y por último vistas y procedimientos. Saltarse el filtrado lleva a filas duplicadas.](https://missyera.com/static/diagramas/webp/guia-sql-01-orden.webp)

*El orden no es una preferencia. Los JOINs sobre datos que no sabes filtrar producen filas duplicadas y totales inflados, y ese error no avisa: devuelve un número, solo que el equivocado.*

## 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.
- 🌙 Armar el almacén de una empresa y la carga que lo llena cada noche, con los chequeos que la paran cuando algo viene mal.
- 📞 Terminar en algo que alguien pueda usar mañana, que es de lo que va el [capítulo de vistas y procedimientos](https://missyera.com/guias/sql-desde-cero/vistas-procedimientos-triggers/).

## 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](https://missyera.com/blog/que-es-una-base-de-datos/), el paso previo al capítulo 1.
- 📊 [Excel desde cero](https://missyera.com/guias/excel-desde-cero/), si vienes de ahí y quieres ver en qué se parecen.
- 🐍 [Python desde cero](https://missyera.com/guias/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](https://missyera.com/cursos/full-day-ia/) 💜

Y si lo tuyo es la empresa y no el aprendizaje individual, ahí está la [consultoría](https://missyera.com/consultoria-ia/).

## 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 14 (índices y planes). Y los tres de ingeniería de datos, del 15 al 17, no los cuenta casi ningún curso de SQL: dónde vive el almacén, cómo se carga cada día sin duplicar nada, y qué pasa cuando esa carga se cae a las tres de la mañana.

### ¿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.

### ¿Qué incluye el libro SQL desde cero de Miss Yera?

23 capítulos y 161 ejercicios con su solución. Cubre desde el primer SELECT hasta ventanas y CTE, con las diferencias entre PostgreSQL, MySQL, SQL Server y SQLite marcadas una por una. Se lee entero en la web, sin registro y sin pagar nada, y cada capítulo enlaza al anterior y al siguiente para que se pueda seguir en orden.

### ¿Vale la pena el libro SQL desde cero de Miss Yera?

No hace falta que me creas: está abierto, entra al primer capítulo y júzgalo tú. Lo que lo distingue de un curso grabado es que el código publicado se ejecutó antes de publicarse y su salida está ahí para que compares, y que los 161 ejercicios traen solución comprobada. Si después de dos capítulos no te sirve, no sigas.

### ¿Para quién está pensado el libro SQL desde cero de Miss Yera?

Para quien nunca escribió una consulta y para quien ya escribe algunas pero se traba con los JOIN, los nulos o las fechas. No pide requisitos previos ni instalar nada complicado: se puede leer en la web y los ejercicios se abren en Colab desde el navegador.

### ¿Qué aprenderé con el libro SQL desde cero de Miss Yera?

Terminas consultando una base tú sola: filtrar, agrupar, cruzar tablas y entender por qué el mismo código cambia entre motores. Son 23 capítulos y cada uno se lee en una sentada y se practica en una tarde. Cuando lo acabes, lo que sigue en el camino es [Python desde cero](https://missyera.com/guias/python-desde-cero/), que es el paso siguiente del camino.

### ¿El libro SQL desde cero de Miss Yera es realmente gratuito?

Sí, y sin la trampa habitual: no hay que registrarse, no piden correo, no hay una parte de pago después. Los 23 capítulos completos están en la web y los cuadernos de ejercicios se abren en Colab. Lo que sí se cobra son los cursos en vivo, que son otra cosa.

### ¿El libro SQL desde cero de Miss Yera incluye ejercicios y soluciones?

Sí, 161 ejercicios repartidos en los 23 capítulos, y todos con solución. Vienen en un cuaderno de Colab con la base SQLite incluida, con una celda vacía para que lo resuelvas y la solución comprobada debajo. La solución viene comprobada, no escrita de memoria.

### ¿Dónde puedo descargar el libro SQL desde cero de Miss Yera?

No hay PDF que descargar y es a propósito: el libro vive en la web, en missyera.com/guias/sql-desde-cero/, porque así se corrige y se amplía sin que a nadie le quede una versión vieja en el escritorio. Lo que sí se descarga son los cuadernos de ejercicios, que se abren directamente en Colab.

### ¿Qué opiniones hay sobre el libro SQL desde cero de Miss Yera?

Prefiero no ponerte reseñas que no puedas verificar. Lo que sí puedes comprobar tú misma en dos minutos: entra a cualquier capítulo y mira si el código trae publicada la salida con la que se comparó, y si los ejercicios tienen la solución. Eso dice más de un libro técnico que cualquier testimonio.

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](https://missyera.com/guias/python-desde-cero/), porque sacas los datos con SQL y los trabajas con pandas.
- 📐 [Estadística desde cero](https://missyera.com/guias/estadistica-desde-cero/), para saber si esa diferencia entre canales es real o es ruido.
- 📈 [Power BI desde cero](https://missyera.com/guias/power-bi-desde-cero/), para que lo que sacaste lo vea alguien que no sabe SQL.
- 🤖 [Machine learning desde cero](https://missyera.com/guias/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! 🌟

## Capítulos

1. [Qué es SQL y por qué hay cuatro](https://missyera.com/guias/sql-desde-cero/que-es-sql.md)
2. [Conectarte y mirar lo que hay dentro](https://missyera.com/guias/sql-desde-cero/conectar-y-explorar.md)
3. [SELECT, WHERE y ORDER BY](https://missyera.com/guias/sql-desde-cero/select-y-where.md)
4. [Tipos de dato y nulos](https://missyera.com/guias/sql-desde-cero/tipos-y-nulos.md)
5. [Texto y fechas, donde los cuatro se separan](https://missyera.com/guias/sql-desde-cero/texto-y-fechas.md)
6. [GROUP BY, donde SQL empieza a responder](https://missyera.com/guias/sql-desde-cero/group-by.md)
7. [Juntar dos tablas](https://missyera.com/guias/sql-desde-cero/joins.md)
8. [Pensar la consulta en pisos](https://missyera.com/guias/sql-desde-cero/subconsultas-y-ctes.md)
9. [Funciones de ventana, sin perder el detalle](https://missyera.com/guias/sql-desde-cero/funciones-de-ventana.md)
10. [Cómo se diseña una base de datos](https://missyera.com/guias/sql-desde-cero/diseno-de-la-base.md)
11. [Crear tablas y escribir en ellas](https://missyera.com/guias/sql-desde-cero/crear-y-modificar.md)
12. [Transacciones y UPSERT, la red de seguridad](https://missyera.com/guias/sql-desde-cero/upsert-y-transacciones.md)
13. [Cuando el dato lo escribe un desconocido](https://missyera.com/guias/sql-desde-cero/inyeccion-sql.md)
14. [Por qué tarda tu consulta](https://missyera.com/guias/sql-desde-cero/indices-y-plan.md)
15. [El almacén, el lago, y por qué se copian los datos a propósito](https://missyera.com/guias/sql-desde-cero/warehouse-lake-y-capas.md)
16. [La carga de las tres de la mañana](https://missyera.com/guias/sql-desde-cero/cargar-datos-cada-dia.md)
17. [Las tres de la mañana y nadie mirando](https://missyera.com/guias/sql-desde-cero/cuando-la-carga-falla.md)
18. [Qué es big data y cuándo no lo necesitas](https://missyera.com/guias/sql-desde-cero/big-data.md)
19. [Cuando el archivo ya no entra](https://missyera.com/guias/sql-desde-cero/consultar-archivos-grandes.md)
20. [Cuando las tablas estorban: bases de documentos](https://missyera.com/guias/sql-desde-cero/nosql-y-documentos.md)
21. [Vistas, disparadores y lo que SQLite no tiene](https://missyera.com/guias/sql-desde-cero/vistas-procedimientos-triggers.md)
22. [El encargo entero](https://missyera.com/guias/sql-desde-cero/proyecto-final.md)
23. [Referencias y dónde seguir](https://missyera.com/guias/sql-desde-cero/referencias.md)

## Contacto

- Diagnóstico de 30 minutos con Miss Yera: https://calendly.com/soymissyera/reunion-con-yera
- Correo: hola@missyera.com
- Esta página en HTML: https://missyera.com/guias/sql-desde-cero/
- Índice de todas las páginas en texto: https://missyera.com/llms-index.txt
