Torne seu SQL legível
Consultas copiadas de logs, geradas por um ORM ou escritas às pressas costumam virar uma única linha longa, difícil de ler e ainda pior para depurar. Este formatador de SQL divide sua consulta em cláusulas claras — SELECT, FROM, JOIN, WHERE, GROUP BY, ORDER BY —, coloca cada coluna e condição em sua própria linha e indenta subconsultas e expressões CASE de forma consistente. O resultado é mais fácil de revisar, comparar no controle de versão e compartilhar com os colegas.
Recursos
- 12 dialetos SQL, do SQL padrão ao MySQL, PostgreSQL, SQL Server, Oracle, BigQuery e Snowflake.
- Maiúsculas e minúsculas: UPPER, lower ou exatamente como escrito; aplica-se a palavras-chave, tipos de dados e funções.
- Indentação com 2 espaços, 4 espaços ou tabs.
- Múltiplas instruções separadas por ponto e vírgula.
- Comentários preservados — tanto os de linha
--quanto os de bloco/* */. - Copiar ou baixar o resultado como um arquivo
.sql. - Privado: o formatador roda localmente no seu navegador.
Antes e depois
Uma consulta como esta:
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.status = 'active' group by u.id, u.name order by orders desc;
fica assim:
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.status = 'active'
GROUP BY
u.id,
u.name
ORDER BY
orders DESC;
Dicas de estilo SQL
- Uma cláusula por linha. Iniciar cada cláusula principal em uma nova linha facilita a visualização da estrutura da query.
- Use aliases significativos. Aliases curtos como
ueofuncionam bem para queries pequenas, mas os descritivos ajudam em relatórios longos. - Qualifique os nomes das colunas em joins (
orders.user_idem vez deuser_id) para evitar ambiguidades. - Mantenha a formatação consistente em todo o projeto para que os diffs mostrem mudanças reais, e não espaços em branco.
Ferramentas relacionadas
Trabalhando com resultados de queries? Converta dados exportados com o CSV para JSON, formate respostas de API com o Formatador JSON ou compare duas versões de uma query com o Comparador de Diff.