SQL Workbench

O Workbench é uma aba de autoria de SQL que roda consultas reais de JOIN, GROUP BY e agregação entre suas tabelas DynamoDB — as coisas que o PartiQL não consegue fazer. É SQL dentro das regras de padrão de acesso do DynamoDB: você escreve um único SELECT, um compilador verifica que todo join lê através de uma chave ou índice real, materializa as linhas joinadas e roda seu SQL completo por cima.

Abra um pelo menu de botão direito da barra lateral (Novo Workbench), pelo atalho ⌘⌥B ou por Arquivo → Novo Workbench. Escreva SQL, depois pressione ⌘↩ para rodar.

SELECT c.email, COUNT(*) AS orders, SUM(o.total) AS revenue
FROM orders o
JOIN customers c ON o.customerId = c.id
GROUP BY c.email
ORDER BY revenue DESC
O Workbench: um JOIN SQL multitabela, com a grade de resultado joinado abaixo.
O Workbench: um JOIN SQL multitabela, com a grade de resultado joinado abaixo.

O que ele suporta

Uma única instrução SELECT com:

  • JOIN ... ON ... — joins INNER e LEFT entre tabelas.
  • AgregaçõesCOUNT, SUM, AVG, MIN, MAX, mais GROUP BY e HAVING.
  • WHERE, DISTINCT, CASE, CAST, ORDER BY.

Enquanto uma consulta de agregação ainda está fazendo streaming, um selo partial marca as colunas afetadas — os números se refinam conforme mais páginas chegam.

A regra de padrão de acesso

O DynamoDB não tem joins no lado do servidor. O compilador do Workbench impõe o que o DynamoDB consegue fazer: o atributo do lado de destino de cada JOIN deve ser uma chave de partição ou uma chave de partição de GSI na tabela alvo, para que toda busca seja uma consulta real, nunca um scan de tabela inteira escondido por linha.

Se um join aponta para um atributo que não é de chave, o editor o sublinha e explica o porquê. Outras construções o compilador rejeita logo de cara, com um sublinhado preciso:

  • Joins RIGHT / FULL OUTER / CROSS e joins por vírgula (apenas INNER / LEFT).
  • Subconsultas, CTEs (WITH), UNION / INTERSECT / EXCEPT.
  • Funções de janela (OVER), múltiplas instruções, qualquer coisa que não seja um SELECT.

Somente leitura

Um Workbench é sempre somente leitura. Não há edição, preparação nem exclusão em lote — é uma superfície de análise. Rodar uma consulta nunca escreve nas suas tabelas.

Os identificadores seguem a capitalização padrão do SQL: nomes sem aspas correspondem sem diferenciar maiúsculas (WHERE PLATFORM encontra platform); envolva um nome em aspas ou crases para correspondência exata de maiúsculas.

Rodar, templates e histórico

  • Rodar⌘↩ no editor, o botão Executar, ou ⌘R para reexecutar. Abas de Workbench nunca rodam automaticamente ao abrir; a execução é sempre deliberada.
  • Run to end⌘⇧↩, ou escolha no menu suspenso do botão Executar, para transmitir o resultado joinado completo em vez de uma página. O limite de página é levantado e as páginas continuam chegando até a consulta se esgotar; Parar é o único freio. Útil para agregações grandes que você quer completas em uma só passada.
  • Templates e consultas salvas — o menu Consultas reúne os templates iniciais (selecionar tudo, filtrar por chave, contar por grupo, com buracos para percorrer com Tab) mais qualquer consulta que você guarde com Salvar — suas próprias consultas nomeadas, reutilizáveis em qualquer tabela. Escolher uma substitui o conteúdo do editor, então ela roda exatamente como você salvou.
  • Histórico — toda execução é salva (separadamente do histórico do PartiQL), pesquisável e restaurável — incluindo execuções que falharam, para você corrigir e tentar de novo.

Uma aba de Workbench é um spec salvo — dê um nome, reabra-a por ⌘K e ela sobrevive a recarregamentos. Você também pode exportar seus resultados joinados.

Workbench vs Smart Table

Ambos rodam o mesmo mecanismo de join; são duas formas de criar a mesma coisa:

  • Workbench é a via SQL — digite uma consulta, obtenha agregações e atributos resolvidos.
  • Smart Table é a via visual — desenhe os joins em um canvas e navegue pelas linhas joinadas como em uma tabela normal.

Atualizado