{"id":4768,"date":"2022-01-05T12:59:50","date_gmt":"2022-01-05T15:59:50","guid":{"rendered":"http:\/\/outsmart.com.br?p=4768"},"modified":"2022-01-18T07:54:00","modified_gmt":"2022-01-18T10:54:00","slug":"juncao-de-tabelas-por-consulta-query","status":"publish","type":"post","link":"https:\/\/outsmart.com.br\/juncao-de-tabelas-por-consulta-query\/","title":{"rendered":"Jun\u00e7\u00e3o de tabelas por consulta (query)"},"content":{"rendered":"\n
Quando se tem dois conjuntos de dados com algum tipo de rela\u00e7\u00e3o entre eles, \u00e9 interessante se realizar uma jun\u00e7\u00e3o desses dados. No Zoho Analytics, esse tipo de uni\u00e3o pode ser feita de duas formas: com auto-jun\u00e7\u00e3o(auto-join) ou com consulta (query). Nesse tutorial, iremos explicar como funciona a jun\u00e7\u00e3o por tabela de consulta (query).<\/p>\n\n\n\n
Uma consulta, no contexto das tabelas e dados, nada mais \u00e9 que uma requisi\u00e7\u00e3o por dados ou informa\u00e7\u00f5es daquele conjunto. Essa requisi\u00e7\u00e3o, normalmente feita atrav\u00e9s de um texto SQL (Structured Qery Language), pode ser utilizada para:<\/p>\n\n\n\n
se obter informa\u00e7\u00f5es estat\u00edsticas sobre os dados (como m\u00e9dia, soma, contagem e etc);<\/li>
filtrar os dados com base em alguma caracter\u00edstica das colunas; <\/li>
unir ou juntar os dados a partir de alguma regra;<\/li><\/ul>\n\n\n\n
Nesse tutorial, focaremos na parte de jun\u00e7\u00e3o de dados para o Zoho Analytics. <\/p>\n\n\n\n
Criando uma consulta<\/h2>\n\n\n\n
O primeiro passo para fazer uma jun\u00e7\u00e3o por consulta \u00e9 criar a consulta em s\u00ed. Isso \u00e9 um procedimento simples, e pode ser fito com apenas alguns cliques em seu Zoho Analytics:<\/p>\n\n\n\n
Da p\u00e1gina inicial do conjunto de dados a ser trabalhado, clique em “Criar” no canto superior-esquerdo da tela.<\/li>
Clique em “Tabelas de Consulta”.<\/li><\/ol>\n\n\n\n<\/figure>\n\n\n\n
E pronto! a pagina para escrever a consulta ser\u00e1 aberta logo em seguida. \u00c9 prov\u00e1vel que o Analytics exiba um modelo de consulta pronto, que pode ser apagado sem nenhum dano aos dados. <\/p>\n\n\n\n
Escrevendo uma consulta<\/h2>\n\n\n\n
Com a consulta criada, \u00e9 necess\u00e1rio escrever o query que gerar\u00e1 a tabela propriamente. Essa consulta \u00e9 escrita em SQL, uma linguagem muito simples mas muito vers\u00e1til para a modelagem de dados. Existem in\u00fameros cursos, tutoriais, artigos e v\u00eddeos sobre SQL, nessa etapa desse tutorial explicaremos apenas o b\u00e1sico para uma jun\u00e7\u00e3o usando consulta (query).<\/p>\n\n\n\n
Existem 3 palavras essenciais para realizar uma jun\u00e7\u00e3o em SQL: SELECT, FROM e ON. Essas 3 express\u00f5es comp\u00f5em a estrutura da jun\u00e7\u00e3o, e portando \u00e9 interessante come\u00e7ar a escrita da consulta colocando essas 3, separadas por algumas linhas<\/li><\/ol>\n\n\n\n
SELECT\n\nFROM\n\nON<\/code><\/pre>\n\n\n\n
2. Escreva o nome das colunas que ser\u00e3o utilizadas nessa consulta, logo ap\u00f3s o SELECT , seguindo as seguintes regras:<\/p>\n\n\n\n
\u00c9 necess\u00e1rio escrever o nome das colunas exatamente como est\u00e3o nas tabelas. Caso haja espa\u00e7o no nome da coluna, \u00e9 necess\u00e1rio colocar o nome entre aspas duplas (Ex.: “Faturamento liquido”, Lucro, “Quantidade de vendas”)<\/li>
Caso as colunas tenham o nome repetido, \u00e9 necess\u00e1rio informar a tabela de onde ela vem, seguindo a regra acima. Essa informa\u00e7\u00e3o \u00e9 escrita antes do nome da coluna, seguida por um ponto( Ex.: Loja.”Faturamento liquido”, Caixa4.Lucro, “Ribeirinha”.”Quantidade de vendas”). Como uma boa pr\u00e1tica, \u00e9 interessante sembre escrever a tabela de refer\u00eancia antes da coluna, para evitar eventuais bugs.<\/li><\/ul>\n\n\n\n
3. Escreva o nome das tabelas utilizadas nessa consulta, logo ap\u00f3s o FROM, seguindo a estrutura TABELA_A TIPO_DE_JUN\u00c7\u00c3O TABELA_B. Nesse passo, \u00e9 importante definir o tipo de jun\u00e7\u00e3o, que varia de acordo com quais dados ser\u00e3o importados em caso de falta. Existem 4 tipos principais de jun\u00e7\u00e3o em SQL:<\/p>\n\n\n\n
INNER JOIN: \u00c9 uma jun\u00e7\u00e3o em que s\u00f3 se conservam os dados presentes em ambas as tabelas. \u00c9 o tipo de jun\u00e7\u00e3o utilizada quando tanto os dados da primeira tabela quanto da segunda tabela s\u00e3o essenciais para a consulta. Por exemplo,
A tabela A contem as vendas para cada um dos estados com os quais a empresa trabalha, enquanto a tabela B contem os PIBs de cada estado naquele ano.Se a consulta vai ser utilizada para fazer uma an\u00e1lise sobre as vendas em rela\u00e7\u00e3o ao PIB de cada estado, \u00e9 importante se ter apenas os dados completos, sem importar o PIB dos estados com que a empresa n\u00e3o trabalha.<\/li><\/ul><\/li>
LEFT JOIN: \u00c9 a jun\u00e7\u00e3o em que ser\u00e3o importados todos os dados tabela da esquerda, enquanto da tabela direita ser\u00e3o importados apenas os dados que tem alguma equival\u00eancia com os da esquerda. \u00c9 o principal tipo de jun\u00e7\u00e3o quando se trata de uma rela\u00e7\u00e3o muitos para um, ou quando se deseja obter um complemento presente na tabela da direita para o conjunto de dados da tabela da esquerda. Por exemplo:
Na tabela A se tem o nome e telefone fixo de cada um dos clientes, enquanto na tabela B se tem o celular de alguns clientes. Caso essa tabela seja usada para telefonar para todos os clientes, \u00e9 necess\u00e1rio conservar todos os dados da tabela A por isso se ultilizaria LEFT JOIN.<\/li>
Na tabela A se tem o nome e a empresa onde cada candidato trabalha. Na tabela B se tem o sal\u00e1rio m\u00e9dio de todas as empresas da regi\u00e3o. Como dois candidatos podem ser da mesma empresa, essa rela\u00e7\u00e3o \u00e9 de muitos para um, por isso \u00e9 interessante se utilizar um LEFT JOIN, <\/li><\/ul><\/li>
RIGHT JOIN: \u00c9 a mesma jun\u00e7\u00e3o que LEFT JOIN, mas a ordem que as tabelas aparecem na sintaxe \u00e9 trocada. Assim, TABELA_A LEFT JOIN TABELA_B produz o mesmo resultado que TABELA_B RIGHT JOIN TABELA_A. Normalmente utiliza-se LEFT JOIN.<\/li>
OUTER JOIN: \u00c9 a jun\u00e7\u00e3o que importa todas as linhas de ambas as tabelas, fazendo a jun\u00e7\u00e3o nas linhas em que existe uma equival\u00eancia nos dados. \u00c9 usado principalmente quando as tabelas contem um tipo parecido de dados, e a intens\u00e3o da consulta \u00e9 adquirir o m\u00e1ximo de dados poss\u00edvel. Por exemplo:
Os dados da tabela A contem todos os produtos vendidos e seus pre\u00e7os pela loja A, enquanto os da tabela B contem todos os produtos vendidos e seus pre\u00e7os da loja B. Caso a consulta seja para organizar todos os produtos compr\u00e1veis nas lojas A e B, \u00e9; interessante se utilizar um OUTER JOIN.<\/li><\/ul><\/li><\/ul>\n\n\n\n
4. Por fim, escreva a condi\u00e7\u00e3o onde os dados s\u00e3o equivalentes, logo ap\u00f3s o ON. Essa condi\u00e7\u00e3o pode ser qualquer express\u00e3o que indique a equival\u00eancia entre as colunas, podendo incluir fun\u00e7\u00f5es, opera\u00e7\u00f5es e at\u00e9 sub-consultas. Alguns exemplos:<\/p>\n\n\n\n
A tabela A e a tabela B cont\u00eam o id do usu\u00e1rio, assim as duas tabelas podem ser ligadas usando ON “tabela A”.”id” = “tabela B”.”id”<\/li>
A tabela A contem o n\u00famero identificador completo, enquanto na tabela B esse numero est\u00e1 dividido em duas colunas. Esse conjunto pode ser ligado usando “tabela A”.”id_completo” = “tabela B”.”id_parte1″+”tabela B”.”id_parte2″.<\/li><\/ul>\n\n\n\n
E assim se constr\u00f3i uma consulta para a jun\u00e7\u00e3o de duas tabelas de dados. Clicando em “Executar consulta” o Analytics gera a tabela que \u00e9 a uni\u00e3o das das duas tabelas utilizadas. Essa tabela gerada pode ser visualizada de forma completa clicando em “Modo exibi\u00e7\u00e3o”. Para salva-la e utiliza-la em relat\u00f3rios, clique em “Salvar” ao lado no nome da tabela.<\/p>\n\n\n\n
Dicas <\/h2>\n\n\n\n
O editor de consultas do Zoho Analytics conta com algumas funcionalidades que podem facilitar a escrita da consulta. Algumas dicas de como usar o editor s\u00e3o:<\/p>\n\n\n\n
Clicando em “Inserir colunas” se encontra uma lista com todas as colunas e tabelas daquele espa\u00e7o de trabalho. ao clicar no nome de uma coluna ela aparece automaticamente no texto da consulta, j\u00e1 com as aspas. Clicando duas vezes, aparece tambem o nome da tabela, entre aspas, seguindo a sintaxe tabela.coluna.<\/li>
Clicando em “Inserir fun\u00e7\u00f5es SQL” o Zoho Analytics exibe uma lista com todas as palavras chave, operadores e fun\u00e7\u00f5es da linguagem. Passando o mouse por cima delas \u00e9 poss\u00edvel ver os par\u00e2metros e sintaxe da fun\u00e7\u00e3o, e ao clicar em uma delas ela automaticamente aparece no query.<\/li>
Clicando no nome da tabela de consulta (normalmente “Nova Tabela de Consulta”) \u00e9 poss\u00edvel altera-la.<\/li>
Para mudar o nome de uma coluna da consulta, basta adicionar o nome desejado logo depois dela no SELECT. Por exemplo “Contas”.”Conta Nome” “Nome da conta” para colocar essa coluna como Nome da conta.<\/li>
\u00c9 poss\u00edvel colocar coment\u00e1rios no meio da consulta, inserindo “\/*”no come\u00e7o e “*\/” no final de cada coment\u00e1rio.<\/li><\/ol>\n\n\n\n<\/figure>\n","protected":false},"excerpt":{"rendered":"
Quando se tem dois conjuntos de dados com algum tipo de rela\u00e7\u00e3o entre eles, \u00e9 interessante se realizar uma jun\u00e7\u00e3o desses dados. No Zoho Analytics, esse tipo de uni\u00e3o pode ser feita de duas formas: com auto-jun\u00e7\u00e3o(auto-join) ou com consulta (query). Nesse tutorial, iremos explicar como funciona a jun\u00e7\u00e3o por tabela de consulta (query). Uma […]<\/p>\n","protected":false},"author":13,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[23],"tags":[],"class_list":["post-4768","post","type-post","status-publish","format-standard","hentry","category-zoho-analytics","entry"],"_links":{"self":[{"href":"https:\/\/outsmart.com.br\/wp-json\/wp\/v2\/posts\/4768","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/outsmart.com.br\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/outsmart.com.br\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/outsmart.com.br\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/outsmart.com.br\/wp-json\/wp\/v2\/comments?post=4768"}],"version-history":[{"count":5,"href":"https:\/\/outsmart.com.br\/wp-json\/wp\/v2\/posts\/4768\/revisions"}],"predecessor-version":[{"id":4834,"href":"https:\/\/outsmart.com.br\/wp-json\/wp\/v2\/posts\/4768\/revisions\/4834"}],"wp:attachment":[{"href":"https:\/\/outsmart.com.br\/wp-json\/wp\/v2\/media?parent=4768"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/outsmart.com.br\/wp-json\/wp\/v2\/categories?post=4768"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/outsmart.com.br\/wp-json\/wp\/v2\/tags?post=4768"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}