El SQL formateado aparece aquí: reindenta, alinea y copia con un clic.
¿Qué es un formateador de SQL?
Un formateador de SQL toma consultas densas, escritas en una sola línea o generadas automáticamente, y las reescribe con sangría y saltos de línea consistentes. Desarrolladores y analistas lo usan al revisar joins, depurar filtros, limpiar la salida de un ORM, compartir consultas en tickets o documentación, o repasar planes de ejecución.
Dar formato no cambia *lo que hace* la consulta — cambia lo fácil que resulta leerla. Una vez que el diseño es consistente, la relación entre SELECT, FROM, JOIN, WHERE, GROUP BY, HAVING y ORDER BY se inspecciona mucho más cómodamente, sobre todo en consultas que mezclan subconsultas y CTEs.
SQL tiene muchos *dialectos* — PostgreSQL, MySQL, SQLite, T-SQL (Microsoft SQL Server), Oracle y BigQuery extienden el estándar con su propia sintaxis. Un buen formateador entiende el dialecto que elijas para no romper la sintaxis específica del motor.
Lo que vas a aprender mientras formateas SQL
Cada cláusula tiene su rol: SELECT elige columnas, FROM elige tablas, WHERE filtra filas, GROUP BY agrupa y ORDER BY ordena.
Una sangría legible deja a la vista subconsultas anidadas, joins y condiciones que en una sola línea pasarían desapercibidas.
El dialecto importa — RETURNING, LIMIT, TOP y los identificadores entre corchetes ([col] vs "col") no son portables entre bases de datos.
Cómo formatear una consulta SQL paso a paso
1
Pega la consulta
Suelta tu SQL en el cuadro de entrada. Funciona con SQL en una sola línea, generado por un ORM o parcialmente formateado.
2
Elige el dialecto
Selecciona PostgreSQL, MySQL, SQLite o T-SQL para que el formateador respete palabras clave específicas como LIMIT, TOP o RETURNING.
3
Configura el estilo
Elige el caso de las palabras clave (mayúsculas es lo habitual) y el ancho de sangría (2 o 4 espacios). La mayoría de equipos usa palabras clave en mayúsculas con sangría de 2 espacios.
4
Lee la salida formateada
Cada cláusula queda en su propia línea, los joins quedan alineados y las subconsultas indentadas. Los comentarios se conservan.
5
Cópiala de vuelta a tu proyecto
Pega la consulta formateada en tu migración, en una raw query del ORM o en tu herramienta de BI. Todo se procesa en tu navegador.
Referencia rápida de cláusulas SQL
Las cláusulas que verás en el 95% de las consultas SELECT, en el orden en que se procesan conceptualmente. Referencias oficiales: PostgreSQL SELECT, MySQL SELECT.
Cláusula
Para qué sirve
Ejemplo
SELECT
Indicar qué columnas o expresiones devolver
SELECT id, name
FROM
Indicar la(s) tabla(s) origen
FROM users
JOIN ... ON
Combinar filas con otra tabla
JOIN orders ON orders.user_id = users.id
WHERE
Filtrar filas antes de agrupar
WHERE active = true
GROUP BY
Agrupar filas que comparten valores
GROUP BY country
HAVING
Filtrar grupos ya agregados
HAVING COUNT(*) > 10
ORDER BY
Ordenar el resultado
ORDER BY created_at DESC
LIMIT / OFFSET
Paginar el resultado
LIMIT 20 OFFSET 40
WITH ... AS
Common Table Expression (CTE) — darle nombre a una subconsulta
WITH active AS (...)
Ejemplos de SQL para probar
Formatear una consulta sencilla
Entrada
select id,name from users where active=trueorderby created_at desclimit10
Formateado
SELECT id, nameFROM usersWHERE active =trueORDERBY created_at DESCLIMIT10;
Cada cláusula queda en su propia línea y la lista de columnas aparece indentada. Revisar esta consulta en una code review se vuelve 10 veces más cómodo.
Inspeccionar un join
Entrada
select u.name,o.total from users u join orders o on o.user_id=u.id where o.total>100
Formateado
SELECT u.name, o.totalFROM users uJOIN orders o ON o.user_id = u.idWHERE o.total >100;
Usar alias de tabla (users u, orders o) deja la lista de columnas más corta. La línea JOIN ... ON deja explícita la relación entre tablas.
Leer una subconsulta anidada
Entrada
select*from users where id in(select user_id from enrollments where course_id=5)
Formateado
SELECT*FROM usersWHERE id IN(SELECT user_idFROM enrollmentsWHERE course_id =5);
Indentar la consulta interna deja la dependencia a la vista. Muchas subconsultas se pueden reescribir como JOINs o CTEs en cuanto se ve la estructura.
Errores frecuentes al formatear SQL
Asumir que SQL formateado es SQL *correcto*. El formato cambia la presentación, no la semántica — una consulta con buena pinta puede seguir devolviendo el resultado equivocado.
Editar la consulta mientras la formateas y olvidarte de volver a probarla.
Ignorar el dialecto — LIMIT 10 en PostgreSQL, TOP 10 en T-SQL y FETCH FIRST 10 ROWS ONLY en SQL estándar hacen lo mismo.
Preguntas frecuentes sobre el formateador de SQL
¿Formatear SQL cambia el resultado de la consulta?
No. El formato sólo cambia los espacios en blanco y el caso de las letras. La base de datos parsea ambas versiones al mismo plan de ejecución, así que las filas devueltas son idénticas.
¿Por qué formatear SQL?
Un SQL legible es más fácil de depurar, revisar, enseñar y mantener — sobre todo cuando la consulta tiene varios joins, subconsultas, CTEs o funciones de ventana.
¿Qué es un dialecto de SQL?
Un dialecto de SQL es una extensión específica de cada base de datos sobre el SQL estándar. PostgreSQL, MySQL, SQLite, T-SQL (SQL Server), Oracle y BigQuery tienen, cada uno, sintaxis propia más allá del estándar.
¿Puede un formateador arreglar consultas rotas?
Un formateador puede dejar a la vista problemas de sintaxis al reemitir la consulta de forma estructurada, pero no entiende tu esquema ni puede garantizar que la consulta sea correcta a nivel lógico.
¿Conviene poner las palabras clave de SQL en mayúsculas?
La mayoría de guías de estilo recomiendan palabras clave en mayúsculas (SELECT, FROM, WHERE) e identificadores en minúsculas, porque el contraste visual hace que la estructura de la consulta resalte. Elige un estilo y mantenlo.