Formatador e Minificador de SQL

Formate queries SQL com palavras-chave em maiúsculas e cláusulas em linhas separadas. Minifique removendo comentários e espaços.

Formatador e Minificador de SQL online

Cole sua query SQL abaixo para formatar com palavras-chave em maiúsculas e cada cláusula em linha separada.

Por que formatar queries SQL?

Queries SQL complexas com múltiplos JOINs, subconsultas e condições ficam difíceis de ler quando escritas em uma única linha. A formatação com cláusulas em linhas separadas torna a lógica imediatamente clara.

Antes:

select u.nome, p.titulo from usuarios u inner join posts p on u.id = p.usuario_id where u.ativo = 1 and p.publicado = 1 order by p.criado_em desc limit 10

Depois:

SELECT u.nome, p.titulo
FROM usuarios u
INNER JOIN posts p ON u.id = p.usuario_id
WHERE u.ativo = 1
  AND p.publicado = 1
ORDER BY p.criado_em DESC
LIMIT 10

Convenções de estilo SQL

A convenção mais amplamente adotada é usar palavras-chave em UPPERCASE e nomes de tabelas/colunas em lowercase. Isso:

  • Distingue visualmente a estrutura da query dos dados
  • Segue o padrão de livros, documentações e ferramentas
  • Facilita a leitura rápida da lógica de uma query

Diferenças de sintaxe entre dialetos

RecursoMySQLPostgreSQLSQL Server
Auto-incrementAUTO_INCREMENTSERIAL ou GENERATEDIDENTITY
Limit de registrosLIMIT nLIMIT nTOP n
ConcatenaçãoCONCAT(a, b)a || ba + b
Case insensitiveDepende do collationILIKEDepende do collation

Como comentar SQL de forma eficaz

SQL suporta dois tipos de comentários:

-- Comentário de linha: explica o próximo bloco

/* Comentário de bloco:
   útil para desativar trechos temporariamente
   ou documentar queries longas */

SELECT
  u.id,
  u.nome,         -- campo exibido na tela
  u.email         -- usado para envio de notificações
FROM usuarios u
WHERE u.ativo = 1 -- apenas usuários ativos

Ferramentas de formatação SQL em IDEs

  • DBeaver: formatador SQL integrado com suporte a múltiplos dialetos
  • DataGrip (JetBrains): reformata SQL com Ctrl+Alt+L
  • VS Code + SQLTools: extensão com formatação e execução de queries
  • pgAdmin: editor SQL com formatação para PostgreSQL

Perguntas frequentes

SQL é case-sensitive?

Palavras-chave SQL não são case-sensitive: SELECT e select são idênticos. Nomes de tabelas e colunas dependem do banco de dados e da configuração de collation — MySQL em Windows geralmente é case-insensitive, enquanto PostgreSQL é case-sensitive por padrão.

Devo usar UPPER ou lower para palavras reservadas?

A convenção dominante é UPPER para palavras reservadas. Ferramentas profissionais como DBeaver e DataGrip usam uppercase por padrão. Algumas equipes preferem lowercase (estilo dbt), mas a consistência dentro do projeto é o mais importante.

Como formatar SQL com subconsultas longas?

Subconsultas devem ser indentadas em relação à cláusula que as contém:

SELECT *
FROM (
  SELECT id, nome, ROW_NUMBER() OVER (PARTITION BY departamento ORDER BY salario DESC) AS rn
  FROM funcionarios
) ranked
WHERE rn = 1

Formatadores SQL respeitam todos os dialetos?

Formatadores básicos (como este) aplicam convenções genéricas (ANSI SQL). Para funções específicas de um dialeto (ex: ILIKE do PostgreSQL ou TOP do SQL Server), o formatador preserva o texto sem modificação.