El SQL se ejecuta igual en una línea que en cincuenta, pero las personas tienen que leerlo. Un diseño coherente facilita revisar las consultas y detectar los errores.
Palabras clave en mayúsculas
Escribir palabras clave como SELECT, FROM, WHERE y JOIN en mayúsculas separa el lenguaje de los nombres de tablas y columnas a simple vista. Algunos equipos prefieren minúsculas, y ambas opciones valen mientras todo el código esté de acuerdo.
Una cláusula por línea
Empieza cada cláusula principal en su propia línea: SELECT, FROM, JOIN, WHERE, GROUP BY, HAVING, ORDER BY y LIMIT.
SELECT
u.id,
u.name,
COUNT(o.id) AS orders
FROM users u
LEFT JOIN orders o ON o.user_id = u.id
WHERE u.active = 1
GROUP BY u.id, u.name
ORDER BY orders DESC;
Una columna por línea
En una lista de selección larga, pon cada columna en su propia línea. Así las diferencias del control de versiones muestran exactamente qué columna cambió.
Sangra condiciones y joins
Sangra las condiciones AND y OR bajo WHERE y mantén cada JOIN junto a su cláusula ON. Los paréntesis que agrupan condiciones merecen su propio bloque sangrado.
Alias
Usa alias de tabla cortos y con sentido y escribe siempre AS en los alias de columna para que quede claro que son alias. Antepón el alias a las columnas en cualquier consulta con más de una tabla, lo que evita ambigüedad y acelera la lectura.
Subconsultas y CTE
Sangra las subconsultas dentro de sus paréntesis. En consultas con varios niveles, las expresiones de tabla comunes (WITH) se leen de arriba abajo y son más fáciles de seguir que las subconsultas anidadas.
Evita SELECT *
Listar las columnas de forma explícita documenta lo que necesita la consulta y la protege de los cambios en el esquema.
Minifica solo para transporte
El SQL compacto en una línea está bien para registros o para incrustarlo en una cadena, pero conserva la versión formateada en los archivos fuente.
Preguntas frecuentes
¿El formato cambia el rendimiento? No. La base de datos ignora los espacios en blanco.
¿Qué dialecto sigue el formateador? Usa reglas comunes de estilo ANSI, así que la sintaxis específica de un dialecto puede necesitar retoques manuales.

