SQL / CSS / HTML Formatter

Formatear Consulta SQL: Formateador de SQL Online

Formatea y sangra consultas SQL desordenadas con alineación correcta de palabras clave. Soporta SELECT, JOIN, subconsultas, CTEs y funciones de ventana.

100% del lado del cliente. Tus datos nunca salen de tu navegador.

Cargando editor...

Cargando editor...

Consulta Formateada

Cuándo se aplica el formateador a la entrada anterior, produce:

SELECT
  u.id,
  u.name,
  u.email,
  o.total,
  o.created_at
FROM users u
INNER JOIN orders o
  ON u.id = o.user_id
WHERE
  o.created_at >= '2024-01-01'
  AND o.status = 'completed'
GROUP BY
  u.id,
  u.name,
  u.email,
  o.total,
  o.created_at
HAVING COUNT(o.id) > 5
ORDER BY o.total DESC
LIMIT 100;

Cada clausula comienza en su propia línea. Las listas de columnas están dispuestas con un elemento por línea. La condición ON esta alineada debajo de la palabra clave JOIN. Este diseño hace que cada clausula sea escaneable de un vistazo.

Por Que Importa el Formateo SQL

Una consulta de una sola línea funciona bien cuando la escribes. Pero cuando alguien más necesita leerla o vuelves tres meses después para depurarla, se convierte en un problema de mantenimiento.

El SQL formateado acelera varias cosas:

Reglas de Formateo SQL

Las reglas que aparecen en la mayoría de las guias de estilo SQL:

Palabras clave en mayusculas: SELECT, FROM, WHERE, JOIN, ON, GROUP BY, HAVING, ORDER BY, LIMIT. Esto separa el lenguaje estructural de la lógica de la aplicación.

Cada clausula en su propia línea: SELECT, FROM, JOIN, WHERE, GROUP BY, HAVING, ORDER BY, LIMIT. Esto evita líneas largas donde las clausulas están apiñadas.

Elementos de lista sangrados: Las columnas después de SELECT, las tablas después de FROM y las columnas después de GROUP BY se sangran. Esto crea una jerarquia visual.

Condiciones JOIN alineadas: La condición ON se sangra debajo de JOIN, no al nivel de SELECT.

Operadores booleanos al inicio de la línea: AND y OR van al principio de la línea, no al final, para que las condiciones sean escaneables verticalmente.

Formateo SQL vs Linteo SQL

El formateo reorganiza los espacios en blanco. El linteo aplica reglas sobre que SQL es aceptable.

SQLFluff hace ambas cosas: formatea y aplica reglas como “no SELECT *”, “los CTEs deben nombrarse” o “las uniones implicitas están prohibidas”. Un linter detecta problemas que un formateador no puede.

Para este formateador online, el objetivo es la legibilidad, no el linteo. Pegalo, formatealo y luego pasalo por un linter si necesitas verificación de reglas.