Tools mentioned in this article
Open the browser-based tool while you read and try the workflow immediately.
“Esta consulta es demasiado densa para leerla…”
Una consulta SQL enorme aplanada en una sola línea por un sistema en producción. Un procedimiento almacenado donde los JOIN anidados se acumulan como un laberinto. “¿Dónde se ramifica esta condición?” — mirar fijamente una pared de SQL así es una frustración conocida.
El Formateador de SQL reformatea el SQL pegado enteramente dentro de su navegador, así que incluso las consultas sensibles de producción nunca salen de su equipo.

Antes / después
select users.id,users.name,count(orders.id) from users left join orders on users.id=orders.user_id where users.deleted_at is null group by users.id,users.name order by users.id desc;
SELECT
users.id,
users.name,
COUNT(orders.id)
FROM users
LEFT JOIN orders ON users.id = orders.user_id
WHERE users.deleted_at IS NULL
GROUP BY
users.id,
users.name
ORDER BY users.id DESC;
Con solo ordenar el diseño, las condiciones faltantes, la dirección del JOIN y la granularidad de la agregación se vuelven mucho más fáciles de detectar.
Por qué la selección de dialecto es obligatoria, no opcional
Un formateador de SQL tiene que tokenizar y entender la sintaxis antes de poder decidir dónde cortar líneas y aplicar sangría. Eso significa que las extensiones específicas de cada dialecto afectan directamente si el formateo tiene éxito.
| Diferencia de dialecto | SQL estándar | MySQL | PostgreSQL | BigQuery |
|---|---|---|---|---|
| Comillas de identificador | "name" | `name` | "name" | `project.dataset.table` |
| Concatenación de cadenas | || | CONCAT() | || | || |
| Sintaxis de LIMIT | LIMIT n | LIMIT n | LIMIT n OFFSET m | LIMIT n |
| Arrays/structs | no estándar | no compatible | ARRAY[...] | STRUCT<...> |
Analizar los identificadores entre comillas invertidas de MySQL como SQL estándar, por ejemplo, puede desplazar los límites de token lo suficiente como para romper el formateo por completo. La mayoría de los informes de “el resultado del formateador se ve mal” se remontan a elegir el dialecto equivocado. La herramienta admite PostgreSQL, MySQL, MariaDB, SQL Server, BigQuery y más — hágalo coincidir con la base de datos con la que realmente trabaja, y el reformateo ocurre automáticamente cada vez que cambia de dialecto.
Qué revisar durante la revisión de SQL
Una vez formateado, algunas comprobaciones adicionales elevan la calidad de la propia revisión.
- ¿La cláusula
WHEREhace lo que cree que hace? - ¿Falta alguna condición de
JOIN? - ¿Es correcta la elección entre
LEFT JOINeINNER JOIN? (Consulte JOIN en SQL: referencia completa para el desglose completo.) - ¿Es la granularidad de
GROUP BYla que espera? - ¿Están presentes
ORDER BY/LIMITdonde se necesitan? - ¿Tienen las subconsultas y CTE cada una un propósito claro?
El SQL extraído de logs suele tener todos los marcadores de posición expandidos, lo que lo hace especialmente largo. Formatear antes de leer puede reducir sustancialmente el tiempo de investigación.
Formatear hace más que mejorar la apariencia
El verdadero beneficio no es cosmético — aparece en tres lugares:
- Detección temprana de errores de sintaxis — un fallo de análisis significa que algo está roto; es una comprobación de cordura gratuita antes de ejecutar la consulta
- Diffs estables — con una regla de formateo fija, el diff de un cambio de consulta refleja solo la edición significativa
- Descifrar SQL generado por máquina — una consulta de una sola línea que escupió un ORM solo se vuelve legible una vez formateada
El primer punto es fácil de pasar por alto: paréntesis desbalanceados o una coma faltante aparecerán como un fallo de formateo, detectando errores antes de ejecutar la consulta.
Preguntas frecuentes
¿Admite SQL de MySQL y PostgreSQL?
Sí — se admiten SQL estándar, MySQL, PostgreSQL, MariaDB, SQL Server y BigQuery. Si su SQL usa sintaxis específica de un dialecto, verifíquela de todos modos antes de ejecutarla.
¿Formatear cambia lo que hace el SQL?
No. Formatear solo ajusta espacios, saltos de línea, sangría y mayúsculas/minúsculas de palabras clave — el significado de la consulta (su resultado) no cambia. Aun así, confirme siempre que la versión formateada coincide con su intención antes de ejecutarla.
¿Qué pasa si elijo el dialecto equivocado?
El entrecomillado de identificadores y la interpretación de palabras clave pueden cambiar, provocando sangría rota o saltos de línea inesperados. Si el resultado del formateo se ve mal, revise primero la selección de dialecto.
¿Es seguro pegar SQL con datos sensibles?
Sí. El formateo ocurre enteramente en su navegador sin llamadas de red — los nombres de tabla y columna nunca salen de su equipo.
Resumen
- El formateador en sí es una delegación de una línea a una biblioteca, pero la selección de dialecto es el parámetro que realmente determina el resultado
- Una sola diferencia en el entrecomillado de identificadores puede cambiar cómo se analiza la consulta — haga coincidir el dialecto con su base de datos real
- Formatear no es solo cosmético: detecta errores de sintaxis temprano, estabiliza los diffs y descifra SQL generado por máquina
La próxima vez que extraiga una consulta de un log, páselo primero por el formateador.