Blog de SQL Arena
Tutoriales de SQL — explicaciones claras, ejemplos variados de la vida real y tablas de antes y después.
Fundamentos: SELECT y filtrado
4 artículos¿Qué es SELECT … FROM en SQL? Leer de una tabla para principiantes
SELECT es el corazón de SQL. Toda consulta empieza aquí. Cubrimos la sintaxis, la elección de columnas concretas, los alias, los campos calculados, los errores comunes y tres ejercicios prácticos.
¿Qué es WHERE en SQL? Filtrado de filas para principiantes
WHERE es el filtro de filas en SQL. En lenguaje llano y con muchos ejemplos: =, IN, BETWEEN, LIKE, IS NULL y AND/OR. Tablas antes y después, trampas para principiantes y una práctica rápida al final.
¿Qué es LIMIT en SQL? Limitar el número de filas para principiantes
LIMIT limita el resultado de una consulta a N filas. Esencial para la paginación, las consultas top-N y las vistas previas. Cubrimos la sintaxis, OFFSET, las diferencias entre PostgreSQL y MySQL, los errores comunes y tres ejercicios prácticos.
¿Qué es ORDER BY en SQL? Ordenar los resultados de una consulta para principiantes
ORDER BY ordena el resultado de una consulta SQL. Cubrimos ASC y DESC, la ordenación por varias columnas, los NULL en el orden y el clásico ORDER BY + LIMIT para el top-N. Muchos ejemplos y tres ejercicios.
Unión de tablas (JOIN)
3 artículos¿Qué es INNER JOIN en SQL? Unir tablas para principiantes
INNER JOIN combina filas de dos tablas por una clave compartida. El JOIN más sencillo y más común. Cubrimos la sintaxis, la cláusula ON, las uniones de varias tablas, los errores comunes y tres ejercicios prácticos.
¿Qué es LEFT JOIN en SQL? Guía para principiantes
LEFT JOIN conserva todas las filas de la tabla izquierda; las coincidencias que faltan a la derecha se vuelven NULL. Cubrimos la sintaxis, la diferencia con INNER JOIN, la búsqueda de huérfanos y tres ejercicios.
Alias (AS) en SQL: alias de tablas y columnas para principiantes
Los alias son nombres cortos para tablas y columnas en SQL. Hacen las consultas legibles y se vuelven obligatorios al hacer JOIN de tablas con nombres de columna compartidos. Sintaxis, casos imprescindibles, errores comunes y tres ejercicios.
Agregación y agrupación
2 artículos¿Qué es GROUP BY en SQL? Agrupar filas para principiantes
GROUP BY es el comando de SQL para "colapsar filas en grupos y agregar". En palabras sencillas: cómo obtener "cuántos pedidos tiene cada cliente" en una sola consulta. Qué puedes y qué no puedes poner en SELECT, la diferencia con DISTINCT, GROUP BY sobre varias columnas y los errores más comunes.
¿Qué es HAVING en SQL? Filtrar grupos para principiantes
HAVING es el filtro que se ejecuta después de GROUP BY y se aplica a los agregados. En palabras sencillas: WHERE filtra las filas de entrada, HAVING filtra los grupos de salida. Veremos la diferencia, los patrones típicos (top-N, anomalías) y por qué se confunden WHERE y HAVING.
Subconsultas y DISTINCT
4 artículos¿Qué es DISTINCT en SQL? Valores únicos para principiantes
DISTINCT significa "eliminar duplicados". En palabras sencillas: valores únicos de una columna o de una combinación de columnas, la diferencia con GROUP BY, el manejo de NULL y el DISTINCT ON específico de PostgreSQL para "una fila por grupo". Con tablas de antes/después y errores comunes.
¿Qué es IN con una subconsulta en SQL? Comprobación de pertenencia para principiantes
IN con una subconsulta filtra «filas donde el valor de una columna aparece en el resultado de otra consulta». En palabras sencillas: filtrar por una lista dinámica, la diferencia con una lista literal, la trampa de NOT IN con NULL y la comparación con EXISTS. Con tablas y errores comunes.
¿Qué es EXISTS en SQL? Comprobación de existencia para principiantes
EXISTS pregunta «¿hay al menos una fila que cumpla la condición?». En palabras sencillas: un filtro sobre la presencia de un registro relacionado (por ejemplo, «clientes con al menos un pedido»), la diferencia con IN con una subconsulta, NOT EXISTS y el comportamiento con NULL.
¿Qué es una subconsulta escalar en SQL? Un único valor en SELECT para principiantes
Una subconsulta escalar es un SELECT que devuelve exactamente un valor y encaja en la posición de una columna o en una expresión WHERE. En palabras sencillas: extraer un campo de una tabla relacionada, añadir un número de resumen a cada fila de un informe, usarla como constante en una condición. Con tablas y errores comunes.
Funciones de ventana
5 artículos¿Qué es ROW_NUMBER en SQL? Numeración de filas para principiantes
ROW_NUMBER asigna «un número secuencial a cada fila». En pocas palabras: la primera función de ventana que vale la pena aprender. Numeración descendente, numeración dentro de grupos con PARTITION BY, el patrón clásico top-N por grupo y la eliminación de duplicados. Con tablas y errores comunes.
¿Qué son RANK y DENSE_RANK en SQL? Clasificación con empates para principiantes
RANK y DENSE_RANK son funciones de clasificación en las que los valores iguales reciben la misma posición. En pocas palabras: la diferencia entre ROW_NUMBER (siempre único), RANK (los empates reciben la misma posición y luego dejan huecos) y DENSE_RANK (la misma posición sin huecos). Con tablas, un ejemplo de estilo olímpico y errores comunes.
¿Qué es PARTITION BY en SQL? Grupos dentro de una ventana para principiantes
PARTITION BY es la parte de OVER que divide las filas en grupos para las funciones de ventana. En pocas palabras: es como GROUP BY, pero las filas no se colapsan: cada fila se conserva, con el agregado de su grupo añadido. La diferencia con GROUP BY, los patrones típicos y el comportamiento de los agregados dentro de las ventanas.
¿Qué son LAG y LEAD en SQL? Filas vecinas en una ventana para principiantes
LAG y LEAD devuelven el valor de la fila **anterior** o **siguiente** de una ventana. En pocas palabras: variación día a día, tiempo hasta el siguiente evento, cambio de precio: tareas que antes requerían unir una tabla consigo misma. Con tablas y errores comunes.
Funciones de ventana en SQL: ROW_NUMBER, RANK, LAG/LEAD en la práctica
Las funciones de ventana son la herramienta que más usa un analista en SQL. Desglosaremos ROW_NUMBER, RANK, LAG/LEAD y PARTITION BY a través de casos reales: top-N por grupo, métricas día a día, sumas acumuladas.
CTE (WITH)
1 artículoModificación de datos (DML)
3 artículos¿Qué es INSERT en SQL? Añadir filas para principiantes
INSERT es el comando de SQL para «añadir una fila nueva». En palabras sencillas: sintaxis básica, inserciones por lotes de varias filas de una sola vez, INSERT FROM SELECT, RETURNING para recuperar los IDs generados y UPSERT mediante ON CONFLICT para operaciones idempotentes. Con tablas de antes/después y errores comunes.
¿Qué es UPDATE en SQL? Modificar filas para principiantes
UPDATE es el comando de SQL para «cambiar datos en filas existentes». En palabras sencillas: qué cambiar, por qué WHERE es innegociable y cómo actualizar varias columnas a la vez. Tablas de antes/después, errores típicos de principiante, un repaso rápido y tres ejercicios prácticos al final.
¿Qué es DELETE en SQL? Eliminar filas para principiantes
DELETE es el comando de SQL para «eliminar filas de la tabla». En palabras sencillas: qué eliminar, por qué WHERE es innegociable, soft-delete frente a hard-delete, la diferencia con TRUNCATE y ON DELETE CASCADE. Tablas de antes/después, errores comunes, un repaso rápido y tres ejercicios prácticos.
Estructura (DDL)
2 artículos¿Qué es CREATE TABLE en SQL? Crear una tabla para principiantes
CREATE TABLE es el comando de SQL para «crear una tabla nueva». En palabras sencillas: qué columnas y de qué tipos, qué hacen NOT NULL, DEFAULT, PRIMARY KEY y FOREIGN KEY, y por qué pensar en el esquema desde el principio merece la pena. Con tablas de antes/después, errores típicos de principiante y tres ejercicios.
¿Qué es ALTER TABLE en SQL? Cambiar la estructura de una tabla para principiantes
ALTER TABLE es el comando SQL para «cambiar la estructura de una tabla existente». En pocas palabras: añadir una columna, eliminarla, renombrarla, cambiar un tipo, añadir y quitar restricciones. Además, el principal dolor de cabeza en producción: los bloqueos prolongados de tablas y el patrón añadir → rellenar → eliminar para migraciones seguras.
Cadenas y fechas
3 artículos¿Qué son LOWER, UPPER y LENGTH en SQL? Funciones de cadena para principiantes
Las funciones de cadena son una herramienta diaria de SQL: normalización de mayúsculas y minúsculas (LOWER, UPPER), longitud (LENGTH), recorte de espacios (TRIM), subcadenas (SUBSTRING), reemplazo (REPLACE). En pocas palabras: búsqueda insensible a mayúsculas, limpieza de datos y trampas con Unicode.
¿Qué es CONCAT en SQL? Concatenación de cadenas para principiantes
CONCAT significa «unir cadenas». En pocas palabras: tres formas (||, CONCAT, CONCAT_WS), cómo cada una trata el valor NULL de forma distinta y por qué CONCAT_WS es la mejor opción para direcciones y nombres. Con tablas y errores comunes.
¿Qué es EXTRACT en SQL? Año, mes y día de una fecha para principiantes
EXTRACT saca una parte de una fecha: año, mes, día, hora, día de la semana. En pocas palabras: cómo agrupar por año/mes, filtrar por día de la semana y contar segundos con EPOCH. Comparado con DATE_TRUNC y las diferencias entre PostgreSQL y MySQL.
CASE y NULL
3 artículos¿Qué es CASE WHEN en SQL? Lógica condicional para principiantes
CASE WHEN es el "if/else dentro de SQL". En palabras sencillas: cómo poner condiciones directamente en SELECT, la diferencia entre el CASE de búsqueda y el CASE simple, agrupar números en categorías, pivotar con una sola fórmula y los agregados condicionales. Con tablas y errores comunes.
¿Qué es COALESCE en SQL? Manejar NULL para principiantes
COALESCE devuelve el primer valor no NULL de una lista. En palabras sencillas: valores por defecto para datos ausentes, cadenas de respaldo (apodo → nombre → 'Invitado'), aritmética segura y su combinación con NULLIF. Con tablas y errores comunes.
¿Qué es NULLIF en SQL? División segura y limpieza de datos para principiantes
NULLIF devuelve NULL si dos valores son iguales. En palabras sencillas: división segura mediante NULLIF(x, 0), limpieza de valores marcadores como '' o 'unknown', y su combinación con COALESCE para un manejo limpio de los datos. Con tablas y errores comunes.
Otros
2 artículos¿Qué es WITH … AS (CTE) en SQL? Expresiones de tabla común para principiantes
WITH … AS es un "resultado intermedio con nombre", también conocido como CTE (Common Table Expression). En palabras sencillas: una forma de dividir consultas complejas en pasos legibles, reutilizar valores calculados y escribir SQL que de verdad querrás volver a leer más adelante. Con tablas y errores comunes.
¿Qué son COUNT, SUM, AVG, MIN, MAX en SQL? Funciones de agregación para principiantes
Las funciones de agregación son herramientas para "calcular algo sobre un grupo de filas". COUNT — cuántas filas, SUM — el total, AVG — el promedio, MIN/MAX — el menor y el mayor. En palabras sencillas: la diferencia entre COUNT(*) y COUNT(columna), cómo afecta NULL a los agregados, escenarios comunes y errores frecuentes.