Menu

Formateador de SQL

Embellece consultas SQL con sangría inteligente.

Última actualización

Palabras clave
Sangría
EntradaPega SQL para empezar
Salida
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áusulaPara qué sirveEjemplo
SELECTIndicar qué columnas o expresiones devolverSELECT id, name
FROMIndicar la(s) tabla(s) origenFROM users
JOIN ... ONCombinar filas con otra tablaJOIN orders ON orders.user_id = users.id
WHEREFiltrar filas antes de agruparWHERE active = true
GROUP BYAgrupar filas que comparten valoresGROUP BY country
HAVINGFiltrar grupos ya agregadosHAVING COUNT(*) > 10
ORDER BYOrdenar el resultadoORDER BY created_at DESC
LIMIT / OFFSETPaginar el resultadoLIMIT 20 OFFSET 40
WITH ... ASCommon Table Expression (CTE) — darle nombre a una subconsultaWITH active AS (...)

Ejemplos de SQL para probar

Formatear una consulta sencilla

Entrada
select id,name from users where active=true order by created_at desc limit 10
Formateado
SELECT  id,  nameFROM usersWHERE active = trueORDER BY created_at DESCLIMIT 10;

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_id  FROM enrollments  WHERE 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.

Más información

Otras herramientas para desarrolladores

Aprende a programar con Coddy

COMENZAR