Menu

Formatador SQL

Embeleze consultas SQL com indentação inteligente.

Última atualização

Palavras-chave
Indentação
EntradaCole SQL para começar
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áusulaPara que serveExemplo
SELECTDefine quais colunas/expressões retornarSELECT id, name
FROMDefine a(s) tabela(s) de origemFROM users
JOIN ... ONCombina linhas de outra tabelaJOIN orders ON orders.user_id = users.id
WHEREFiltra linhas antes do agrupamentoWHERE active = true
GROUP BYAgrupa linhas que compartilham valoresGROUP BY country
HAVINGFiltra grupos já agregadosHAVING COUNT(*) > 10
ORDER BYOrdena o resultadoORDER BY created_at DESC
LIMIT / OFFSETPagina o resultadoLIMIT 20 OFFSET 40
WITH ... ASCommon Table Expression (CTE) — dá nome a uma subconsultaWITH active AS (...)

Exemplos de SQL para testar

Formatar uma consulta simples

Entrada
select id,name from users where active=true order by created_at desc limit 10
Formatado
SELECT  id,  nameFROM usersWHERE active = trueORDER BY created_at DESCLIMIT 10;

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_id  FROM enrollments  WHERE 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.

Saiba mais

Outras ferramentas para desenvolvedores

Aprenda a programar com o Coddy

COMEÇAR