Cómo aprender SQL desde cero: la hoja de ruta
SQL es una de las habilidades más agradecidas del mundo IT: el lenguaje lleva décadas sin cambiar, se aprende en semanas y hace falta en todas partes, desde la analítica hasta el backend. Este artículo es un plan paso a paso: qué aprender, en qué orden, cuánto tiempo lleva y en qué suelen tropezar los principiantes.
Marca las semanas completadas aquí mismo: el progreso se guarda en tu navegador y el artículo se convierte en tu propio diario de estudio.
Cuánto tiempo lleva
Plazos realistas dedicando entre 30 y 60 minutos al día:
- 2 semanas: un SELECT con soltura, es decir, consultas con condiciones, ordenación y agregación. Ya es suficiente para sacar datos para informes.
- 4–6 semanas: el nivel básico, con combinación de tablas, subconsultas y modificación de datos. Es el mínimo que se pregunta en las entrevistas para becarios y juniors.
- 2–3 meses: el nivel de un junior con soltura, con funciones de ventana, transacciones y nociones de cómo funcionan los índices.
No hace falta saber programar: SQL es un lenguaje declarativo, describes qué quieres obtener y no cómo conseguirlo. Tampoco necesitarás más matemáticas que las del instituto.
La regla principal para todo el camino: 20 % del tiempo leyendo, 80 % escribiendo consultas tú mismo. SQL no se aprende solo mirando.
Semana 1. Entender con qué trabajamos y escribir el primer SELECT
El objetivo de la semana es entender cómo están hechas las bases de datos y ejecutar las primeras consultas.
- Qué son una base de datos y un SGBD
- Bases de datos relacionales y su estructura: tablas, registros y claves
- Qué es SQL
- La sintaxis básica de una consulta SQL: el primer SELECT
Y aquí tienes tu primera consulta. Es interactiva, así que pulsa «Ejecutar»:
MySQL 8.4SELECT name, category, price FROM products ORDER BY price DESC LIMIT 3;
Acabas de pedirle a la base de datos los tres productos más caros, y te ha respondido. Cambia 3 por 5 o DESC por ASC y mira cómo cambia el resultado.
Para esto no hace falta instalar ningún SGBD en tu ordenador: en el curso interactivo las consultas se ejecutan directamente en el navegador, y se cambia entre MySQL y PostgreSQL con un solo botón.
Semana 2. Filtros y ordenación
El objetivo es aprender a sacar de una tabla exactamente las filas que necesitas.
- La cláusula WHERE
- Los operadores IS NULL, BETWEEN, IN
- Búsqueda por patrón: LIKE
- Ordenación: ORDER BY
- Eliminar duplicados: DISTINCT
- Limitar el resultado: la cláusula LIMIT
A partir de esta semana conviene empezar a resolver ejercicios en la Práctica SQL: 2 o 3 al día, empezando por los fáciles. Los ejercicios te dan lo que la lectura no te da: la capacidad de traducir una pregunta en lenguaje normal a una consulta SQL.
Semana 3. Agregación: de filas a cifras
El objetivo es responder a preguntas del tipo «cuántos», «de media» o «máximo por grupo».
- Agrupación: GROUP BY
- Funciones de agregación: COUNT, SUM, AVG, MIN, MAX
- Filtrar grupos: HAVING
- Uso de funciones
Aquí también toca entender la diferencia entre WHERE y HAVING: es la pregunta número uno de las entrevistas sobre este tema.
Semana 4. Combinar tablas, el corazón de SQL
En las bases de datos reales, los datos siempre están repartidos en varias tablas, y casi cualquier consulta del día a día combina dos o tres. Es la semana más importante del curso.
Sin prisa: asegúrate de que la diferencia entre INNER JOIN y LEFT JOIN te resulte obvia de forma intuitiva. Todo lo que viene después se apoya en esto.
Semana 5. Subconsultas, CTE y lógica condicional
El objetivo es construir consultas de varios pasos.
- Subconsultas y subconsultas correlacionadas
- Expresiones de tabla comunes: WITH, además de nuestro análisis de las CTE con recursividad
- Lógica condicional: CASE
Semana 6. Modificar datos y crear tablas
Hasta ahora solo has leído datos; ahora toca aprender a modificarlos.
- Añadir datos: la sentencia INSERT
- Actualizar: UPDATE
- Eliminar datos: la sentencia DELETE, y en qué se diferencia DELETE de TRUNCATE y DROP
- Crear tablas, tipos de datos y restricciones
Con esto el nivel básico queda cerrado: sabes sacar, contar, combinar y modificar datos.
Esta es una consulta que, a estas alturas, no solo podrás leer, sino también escribir tú mismo, con combinación de tablas, agrupación y ordenación todo en uno:
MySQL 8.4SELECT u.country, COUNT(*) AS orders_count, ROUND(AVG(o.total_amount), 2) AS avg_check FROM orders o JOIN users u ON u.user_id = o.user_id GROUP BY u.country ORDER BY orders_count DESC;
Si entiendes cada línea, ya tienes el SQL básico en el bolsillo.
Después: lo que separa a un junior de un becario
Cuando ya domines la base, añade los temas que más salen en las entrevistas de nivel junior y superior:
- Funciones de ventana: las lecciones del curso y nuestro análisis de ROW_NUMBER, RANK y DENSE_RANK. El tema más «cotizado» para analistas.
- Transacciones: las lecciones y el artículo sobre las propiedades ACID. Un clásico de las preguntas teóricas.
- Índices: la lección sobre índices, qué son y por qué las consultas se aceleran cientos de veces.
- Preparación para entrevistas: la sección Preguntas de entrevista, con ejercicios reales de empresas.
Cinco errores que frenan a los principiantes
- Leer sin practicar. La sintaxis que solo has leído se olvida en tres días; la consulta que has escrito tú se queda. Un tema sin 5–10 ejercicios resueltos es un tema sin terminar.
- Empezar instalando un SGBD. Puedes pasarte una tarde instalando y configurando MySQL y quemarte antes de la primera consulta. Empieza en la Práctica SQL, directamente en el navegador; ya instalarás una base de datos local cuando de verdad la necesites.
- Memorizar listas de funciones. No necesitas cientos de funciones: el 90 % del trabajo lo hacen COUNT, SUM, AVG, COALESCE y un par de funciones de texto. El resto se busca en un minuto en la Referencia de funciones SQL.
- Lanzarte a las funciones de ventana antes de JOIN. Los temas de moda no se asimilan sin una base. El orden de las semanas de arriba no es casual.
- Aprender «en general», sin un objetivo. Define para qué quieres SQL: superar una entrevista, automatizar informes, pasarte a la analítica. El objetivo marca en qué poner el foco y cuándo parar.
Por dónde empezar ahora mismo
El plan es sencillo: abre la primera lección del curso (es gratuita, como todo el curso básico) y completa la semana 1. Cuando la termines, vuelve aquí y marca la primera casilla. Tras seis semanas de práctica constante tendrás una habilidad que aparece como requisito en una de cada dos ofertas de empleo de analista, tester y desarrollador backend.
Y cuando hayas completado la base, podrás profundizar en los cursos avanzados: diseño de bases de datos, optimización de consultas y análisis de datos con SQL.