Consulta

A tarefa Consulta é a tarefa mais importante do Gaio. Toda manipulação de dados é realizada através dela. Ao utilizá-la, o Gaio está construindo um comando SQL para enviar ao banco de dados e retornar uma nova tabela. Se a tabela já existe, o Gaio apaga e recria. Contudo, há a possibilidade de não apagar, mas acumular dados na tabela, ativando o botão Modo Inserção (19), que utilizará o recurso SQL INSERT ao invés de apagar e criar tabela.

Quando uma tarefa Consulta é executada sem o Modo Inserção (17) ativado, a seguinte sequência de ações é realizada:

  1. Caso exista, exclusão da tabela resultado (DROP TABLE);

  2. Execução da query SQL gerada por ele;

  3. Cria a tabela 'tabela resultado' (CREATE TABLE);

  4. Inserção dos dados na tabela gerada (INSERT INTO).

  1. Nome da consulta

  2. Nome da tabela

  3. Botão Salvar

  4. Botão Salvar e Executar

  5. Botão Preview

  6. Botão SQL

  7. Colunas da tabela fonte

  8. Campo Calculado

  9. Campos Agregados

  10. Colunas da nova tabela

  11. Filtro: Colunas que serão filtradas

  12. Agrupamento: Colunas a serem agrupadas

  13. Ordenação: Colunas que serão ordenadas

  14. Linhas: Quantidade de linhas limite da nova tabela (LIMIT)

  15. Limite by: Coluna que será usada como critério para categorização quando houver limitação de linhas

  16. Página (offset): Paginação

  17. Relacionamento entre tabelas (JOIN)

  18. Propriedades da coluna

  19. Modo Inserção (INSERT)

  20. Botão fechar

1. Nome da Consulta

Por padrão o nome será consulta, mas pode definir um nome que ajude a identificar o que foi feito na consulta. Esse nome não pode começar com número ou ter menos de 3 caracteres.

2. Nome da Tabela

Defina um nome que não pode começar com número ou ter menos de 3 caracteres. Se o nome da tabela iniciar com tmp_, será uma tabela temporária e portanto é facilmente apagada juntamente com as demais tabelas temporárias. É uma boa prática usar tabelas temporárias para não consumir espaço em disco em excesso.

3. Botão Salvar

Esse botão salva a consulta, mas não a executa e portanto a tabela gerada por ela não será recriada. É útil quando a tarefa leva um tempo maior na execução, e não se deseja rodar no momento.

4. Botão Salvar e Executar

Clicando nesse botão o Gaio irá salvar a consulta e executar, regerando a tabela destino da consulta.

5. Botão Preview

Com esse botão, é possível visualizar como será o resultado da consulta antes mesmo de rodá-la. O Gaio envia o SQL para o banco de dados trazendo somente 10 linhas. É possível após o preview ser apresentado, alterar a quantidade de linhas a serem exibidas.

Em algumas situações o resultado do preview pode diferir da tabela final. Isso por que o preview não busca os dados na origem, trafega arquivo com o resultado e importa os dados à uma tabela interna do Gaio, como a execução da consulta o faz. No preview, é somente executar a consulta e mostrado o resultado.

6. Botão SQL

O Gaio exibe o código SQL que será executado, contudo esse não pode ser editado. Para construir um SQL manualmente, utilize a tarefa SQL para consultas em tabelas que já estão no Gaio ou a tarefa SQL Externo para executar consulta manuais diretas nos bancos de dados de origem (SQL Server, Oracle, PostGreSQL, MySQL, MariaDB e MemSQL).

7. Colunas da tabela fonte

Aqui são exibidas as tabelas que estão sendo usadas nessa consulta. Dentro delas (ao clicar), são exibidos suas respectivas colunas que podem ser levadas para o centro da janela para diversos fins como filtros e ordenação.

8. Campo calculado

Através desse botão, é possível criar uma nova coluna a partir de funções SQL. Tais funções podem partir de uma simples extração do ano de uma data, até executar Consultas complexas SQL para a geração da coluna.

Pode ser usado SQL ANSI na construção e também podem ser usadas funções do bancos de dados (SGBD) que está sendo consultado no momento. Quando se está consultando tabelas que já estão no Gaio, devem ser usadas funções do SGBD ClickHouse.

Atente para o tipo de coluna que esse calculo irá gerar. Se for uma coluna texto, mais a frente não poderá fazer contas com ele. Também pode assumir tipos como data, numérico e outros.

Exemplos

Conversão de data/hora em formato de texto para formato de data. Nesse caso haverá um esforço automático para identificar o formato do seu texto.

parseDateTimeBestEffort('12/12/2020 12:12:57')

9. Campos Agregados

Nesse item são listadas as colunas que foram agregadas com alguma função (soma, média, min, max, contagem, etc). Estão disponíveis nesse local para serem arrastadas para as opções do centro da tela.

10. Colunas da nova tabela

Aqui são definidos as colunas que estarão na tabela que será gerada a partir dessa consulta. Elas podem colunas exatamente iguais das tabelas de origem, podem ser calculadas a partir do Campo Calculado e também podem ser agregações (média, mínimo, máximo, etc). Todos os itens que estiverem nesse local estarão na tabela gerada.

11. Filtro: colunas que serão filtradas

Nesse item são aplicados filtros nos dados, como por exemplo, visualizar levar para a tabela que será gerada dados de somente um estado. Aqui somente se pode usar colunas que filtrarão dados nas tabelas de origem e/ou em campos calculados que não estão agregando dados.

Filtro em campos agregados

Ao agregar alguma coluna usando por exemplo média, soma, mínimo, máximo e outros, aparece o item Filtro em campos agregados na tela. É nesse local que se pode filtrar colunas agregadas. Isso ocorre dessa forma por que esse filtro é aplicado após os dados serem gerados, após a consolidação da agregação e não antes como na opção de filtro anterior.

12. Agrupamento: Colunas a serem agrupadas

Se alguma coluna foi agregada com por exemplo uma soma, em geral alguma coluna será usada para que as somas sejam apresentadas por ela, como por exemplo a soma de vendas por Estado. Nesse caso, o Estado é uma coluna a ser agrupada, pois é desejado ver as somas das vendas por ela. Na prática de SQL, as colunas que não estão sendo agregadas (soma, min, máx, etc), devem estar no Agrupamento.

13. Ordenação: Colunas que serão ordenadas

Tendo em mente as colunas que estarão na tabela de saída, nesse item podem ser inseridas várias colunas, podendo ser ordenadas de forma crescente ou decrescente. O Gaio irá respeitar a ordem sequencial que as colunas foram inseridas nesse campo para ordenação.

14. Linhas: Quantidade de linhas limite da nova tabela (LIMIT)

Esse recurso é muito útil em duas situações:

  1. A consulta irá retornar muitos dados e se deseja ver um bom conjunto de dados antes da execução final, por exemplo limitar 1.000 linhas.

  2. Em conjunto com a ordenação, é possível criar um TOP 20 vendedores, limitando a consulta a 20 linhas, por exemplo.

15. Limite by: Coluna que será usada como critério para categorização quando houver limitação de linhas

16. Página (offset): Paginação

Pensando no item anterior (13. Limit), pode ser desejado retornar 100 linhas, mas a partir da linha 1.000. Esse item irá permitir tal conjunto de dados ser disponibilizado na tabela gerada.

17. Relacionamento entre tabelas (JOIN)

Para usuários de SQL, essa é somente uma interface para construir relacionamento entre tabelas que terão suas colunas disponibilizadas para serem usadas em fórmulas e estarem disponíveis na tabela a ser gerada.

Esse botão irá abrir a janela abaixo que permitirá unir diferentes tabelas, inclusive de diferentes aplicações (desde que compartilhada com a aplicação em uso).

Nesse momento, é necessário informar as colunas pelas quais as duas tabelas se relacionam. Se a relação entre as duas tabelas for a partir de mais de uma coluna, será necessário clicar mais de uma vez no botão de Join da tela anterior.

Podem ser relacionadas quantas tabelas forem necessárias, repetindo esse procedimento.

O resultado da relação entre as duas tabelas pode ser de 4 formas.

  • Inner join: serão trazidas somente as linhas que coincidirem nas duas tabelas.

  • Full join: serão trazidas todas as linhas das duas tabelas (costuma trazer duplicidades e só deve ser utilizada quando o usuário tem plena ciência do que será retornado, pois pode conduzir a erros na análise dos dados.

  • Left join: serão trazidas todas as linhas da tabela da esquerda e os dados que ele encontrar na tabela da direita com base nas colunas que as unem.

  • Right join: serão trazidas todas as linhas da tabela da direita e os dados que ele encontrar na tabela da esquerda.

18. Propriedades da coluna

Aqui é possível trocar o nome que a coluna terá na tabela gerada, agregar, mudar a formatação da coluna, não seu tipo. Para mudar o tipo de uma coluna é necessário usar funções no Campo Calculado.

19. Modo Inserção (INSERT)

O procedimento padrão ao finalizar as atividades nessa tarefa Consulta, será executar. Nesse momento, se ja existia a tabela, essa será apagada e criada novamente. Contudo, se essa opção estiver marcada (Modo Inserção), o Gaio não irá apagar a tabela, mas jogar os novos dados ao final da tabela que já existia.

20. Botão fechar

Nome do processo que está sendo criado a consulta : Nesse local é somente apresentado o nome do processo onde essa consulta está sendo criada ou editada.

Last updated