Formatador SQL

Formatador SQL online

Tire sua consulta de uma única linha e deixe as condições mais fáceis de acompanhar. Escolha o dialeto e o estilo de formatação para preparar a revisão do código.

Editor de consultasFormatação no navegador · sem executar SQL
Carregar exemplo
213 / 50.000 caracteres

02 SQL formatado

A consulta original é preservada

Organize a consulta antes de revisar

Consultas geradas por um ORM ou copiadas de logs costumam chegar sem quebras de linha. O formatador SQL separa cláusulas e aplica indentação aos blocos aninhados. Isso ajuda a localizar colunas, junções e filtros durante a revisão, sem ajustar cada espaço manualmente.

Cole o SQL, selecione o dialeto e escolha dois espaços, quatro espaços ou tabulações. Defina a caixa das palavras-chave e clique em Formatar SQL. A entrada continua disponível ao lado do resultado. Ao alterar o texto ou as opções, o resultado anterior é apagado; formate novamente antes de copiar.

Selecione o banco para o qual a consulta foi escrita

As opções são SQL padrão, PostgreSQL, MySQL, MariaDB, SQLite, SQL Server (T-SQL), Oracle SQL, BigQuery e Snowflake. O dialeto orienta a leitura de identificadores e construções específicas, como crases no MySQL e colchetes no T-SQL.

Trocar essa opção não converte uma consulta entre bancos. Funções e estruturas de tabelas não são adaptadas. A opção Oracle SQL se destina a consultas e não significa suporte geral a procedimentos armazenados.

Formatação ajuda na leitura, mas não comprova a lógica

Ao separar WHERE de HAVING, fica mais fácil conferir o filtro de linhas e o filtro de grupos. A indentação também evidencia os níveis de CTEs e subconsultas. Ainda assim, uma consulta bem apresentada pode retornar dados inesperados ou referenciar uma coluna inexistente.

A alteração de caixa vale para palavras-chave reconhecidas. Identificadores, nomes de funções e tipos de dados mantêm a escrita original. Os parâmetros não recebem valores, e os comentários são preservados, embora sua disposição possa mudar. Valide o resultado com as ferramentas do banco antes de usá-lo.

Exemplos de SQL formatado

Os exemplos usam dados fictícios, palavras-chave em maiúsculas e dois espaços de indentação. Ao carregar um exemplo, o dialeto correspondente também é selecionado.

JOIN e agregação

Soma pedidos pagos por cliente e filtra os totais. Veja a separação entre condição de junção, filtro de linhas e filtro de grupos.

SELECT
  c.id,
  c.name,
  count(o.id) AS order_count,
  sum(o.total) AS revenue
FROM
  customers c
  JOIN orders o ON o.customer_id = c.id
WHERE
  o.status = 'paid'
GROUP BY
  c.id,
  c.name
HAVING
  sum(o.total) > 1000
ORDER BY
  revenue DESC;
Voltar ao formatador

CTE e função de janela

Uma CTE do PostgreSQL usa ROW_NUMBER para classificar pedidos por cliente. A indentação destaca o SELECT interno.

WITH
  ranked_orders AS (
    SELECT
      id,
      customer_id,
      total,
      row_number() OVER (
        PARTITION BY
          customer_id
        ORDER BY
          created_at DESC
      ) AS position
    FROM
      orders
    WHERE
      created_at >= date '2024-01-01'
  )
SELECT
  customer_id,
  id,
  total
FROM
  ranked_orders
WHERE
  position = 1
ORDER BY
  customer_id;
Voltar ao formatador

INSERT e comentários

Exemplo MySQL com identificadores entre crases, comentário e uma string com ponto e vírgula, tratado como parte do valor.

-- Fictional seed data
INSERT INTO
  `products` (`sku`, `name`, `price`)
VALUES
  ('DEMO-01', 'Desk lamp; warm light', 29.95),
  ('DEMO-02', 'Reader''s notebook', 8.50);
Voltar ao formatador

Perguntas frequentes

Como salvar a consulta formatada?

Use Copiar ou baixe o arquivo formatted.sql. Para iniciar a formatação pelo teclado, pressione Ctrl+Enter ou Command+Enter no macOS.

O SQL é enviado a um servidor?

A formatação roda em um Web Worker no navegador. A ferramenta não envia consultas a uma API de formatação, não se conecta a bancos e não salva a entrada de forma persistente nem na URL.

O formatador melhora o desempenho?

Não. Ele organiza espaços e palavras-chave, sem executar a consulta. Não verifica tabelas, colunas, tipos, permissões ou planos de execução. A análise de desempenho deve ser feita nas ferramentas do seu banco.

Posso incluir várias instruções?

Sim, instruções SQL comuns podem ser separadas por ponto e vírgula. O sinal dentro de uma string reconhecida continua sendo dado. Comandos DELIMITER personalizados, procedimentos e scripts específicos de clientes ficam fora do fluxo suportado.

O que fazer quando a formatação falha?

Confira o dialeto, as aspas e os parênteses. Templates e interpolação de código podem não ser reconhecidos. A entrada aceita até 50.000 caracteres e a tarefa para após dez segundos. Divida scripts longos em trechos menores.

Comentários e placeholders são mantidos?

Os comentários permanecem, mas podem mudar de posição ou espaçamento. Placeholders compatíveis com o dialeto não são preenchidos. Comentários que desativam o formatador podem deixar um trecho sem formatação.

SQL Formatter · GitHub

Voltar ao formatador