Embeleze consultas SQL com indentação inteligente.
Última atualização
Palavras-chave
Indentação
EntradaCole SQL para começar
Cole ou digite SQL aqui…
Saída
O SQL formatado aparece aqui — reindente, alinhe e copie com um clique.
O que é um formatador de SQL?
Um formatador de SQL pega aquela consulta espremida em uma linha só, gerada por ORM ou simplesmente bagunçada, e reescreve com indentação consistente e quebras de linha. Devs e analistas usam isso na hora de revisar joins, depurar filtros, limpar saída de ORM, compartilhar consultas em tickets ou na documentação, e ao analisar planos de execução passo a passo.
Formatar não muda *o que* a consulta faz — muda o quanto um humano consegue lê-la sem sofrer. Com o layout consistente, fica bem mais fácil enxergar a relação entre SELECT, FROM, JOIN, WHERE, GROUP BY, HAVING e ORDER BY, principalmente em consultas que misturam subconsultas e CTEs.
SQL tem vários *dialetos* — PostgreSQL, MySQL, SQLite, T-SQL (Microsoft SQL Server), Oracle e BigQuery estendem o padrão cada um do seu jeito. Um bom formatador entende o dialeto escolhido e não quebra a sintaxe específica de cada banco.
O que você aprende formatando SQL
Cada cláusula tem um papel específico: SELECT escolhe colunas, FROM escolhe tabelas, WHERE filtra linhas, GROUP BY agrupa e ORDER BY ordena.
Uma indentação legível revela subconsultas, joins e condições que ficavam invisíveis quando tudo estava em uma linha só.
O dialeto faz diferença — RETURNING, LIMIT, TOP e identificadores entre colchetes ([col] vs "col") não são portáveis entre os bancos.
Como formatar uma consulta SQL passo a passo
1
Cole a consulta
Jogue seu SQL na caixa de entrada. Pode ser de uma linha só, gerado por ORM ou já meio formatado — funciona do mesmo jeito.
2
Escolha o dialeto
Selecione PostgreSQL, MySQL, SQLite ou T-SQL para o formatador respeitar palavras-chave específicas como LIMIT, TOP ou RETURNING.
3
Configure o estilo
Defina o caso das palavras-chave (maiúsculas é o padrão) e a largura da indentação (2 ou 4 espaços). A maioria dos times usa palavras-chave em maiúsculas com indentação de 2 espaços.
4
Leia a saída formatada
Cada cláusula em sua própria linha, joins alinhados, subconsultas indentadas. Os comentários permanecem intactos.
5
Cole de volta no seu projeto
Leve a consulta formatada para sua migration, query crua do ORM ou ferramenta de BI. Tudo acontece no seu navegador.
Referência rápida das cláusulas SQL
As cláusulas que aparecem em 95% das consultas SELECT, na ordem em que são processadas conceitualmente. Documentação oficial: SELECT no PostgreSQL, SELECT no MySQL.
Cláusula
Para que serve
Exemplo
SELECT
Define quais colunas/expressões retornar
SELECT id, name
FROM
Define a(s) tabela(s) de origem
FROM users
JOIN ... ON
Combina linhas de outra tabela
JOIN orders ON orders.user_id = users.id
WHERE
Filtra linhas antes do agrupamento
WHERE active = true
GROUP BY
Agrupa linhas que compartilham valores
GROUP BY country
HAVING
Filtra grupos já agregados
HAVING COUNT(*) > 10
ORDER BY
Ordena o resultado
ORDER BY created_at DESC
LIMIT / OFFSET
Pagina o resultado
LIMIT 20 OFFSET 40
WITH ... AS
Common Table Expression (CTE) — dá nome a uma subconsulta
WITH active AS (...)
Exemplos de SQL para testar
Formatar uma consulta simples
Entrada
select id,name from users where active=trueorderby created_at desclimit10
Formatado
SELECT id, nameFROM usersWHERE active =trueORDERBY created_at DESCLIMIT10;
Cada cláusula está em sua linha e a lista de colunas vem indentada. Revisar essa consulta em um code review acabou de ficar 10× mais fácil.
Analisar um join
Entrada
select u.name,o.total from users u join orders o on o.user_id=u.id where o.total>100
Formatado
SELECT u.name, o.totalFROM users uJOIN orders o ON o.user_id = u.idWHERE o.total >100;
Apelidar as tabelas (users u, orders o) deixa a lista de colunas enxuta. A linha do JOIN ... ON deixa explícita a relação entre as tabelas.
Entender uma subconsulta aninhada
Entrada
select*from users where id in(select user_id from enrollments where course_id=5)
Formatado
SELECT*FROM usersWHERE id IN(SELECT user_idFROM enrollmentsWHERE course_id =5);
Indentar a consulta interna deixa a dependência clara. Várias subconsultas podem ser reescritas como JOINs ou CTEs assim que você consegue enxergar a estrutura.
Erros comuns ao formatar SQL
Achar que SQL formatado é SQL *correto*. Formatar muda o layout, não a semântica — uma consulta bonita ainda pode devolver o resultado errado.
Editar a consulta na hora de formatar e esquecer de testar o resultado de novo.
Ignorar o dialeto — LIMIT 10 no PostgreSQL, TOP 10 no T-SQL e FETCH FIRST 10 ROWS ONLY no SQL padrão fazem a mesma coisa.
Perguntas frequentes sobre o Formatador de SQL
Formatar SQL muda o resultado da consulta?
Não. A formatação altera apenas espaços em branco e capitalização. O banco gera o mesmo plano de execução para ambas as versões, então as linhas retornadas são idênticas.
Por que formatar SQL?
SQL legível é mais fácil de depurar, revisar, ensinar e manter — principalmente quando a consulta tem vários joins, subconsultas, CTEs ou funções de janela.
O que é um dialeto SQL?
Um dialeto SQL é uma extensão do SQL padrão específica de cada banco. PostgreSQL, MySQL, SQLite, T-SQL (SQL Server), Oracle e BigQuery têm sintaxes próprias além do que o padrão define.
Um formatador de SQL conserta consultas quebradas?
Um formatador pode evidenciar problemas de sintaxe ao reemitir a consulta de forma estruturada, mas não conhece o seu schema nem garante que a lógica esteja correta.
Devo escrever as palavras-chave SQL em maiúsculas?
A maioria dos guias de estilo recomenda palavras-chave em maiúsculas (SELECT, FROM, WHERE) e identificadores em minúsculas, porque o contraste visual destaca a estrutura da consulta. Escolha um estilo e mantenha a consistência.