Ir para conteúdo principal Pular para conteúdo complementar

Join

O prefixo join une a tabela carregada a uma tabela nomeada existente ou à última tabela de dados criada.

O efeito da união de dados é estender a tabela de destino por um conjunto adicional de campos ou atributos, ou seja, aqueles que ainda não estão presentes na tabela de destino. Qualquer nome de campo comum entre o conjunto de dados de origem e a tabela de destino é usado para descobrir como associar os novos registros de entrada. Isso costuma ser chamado de "união natural". Uma operação de união da Qlik pode fazer com que a tabela de destino resultante tenha mais ou menos registros do que quando começou, dependendo da exclusividade da associação de união e do tipo de união empregado.

video thumbnail

Tipos de junções

Existem quatro tipos de uniões:

  • União esquerda

  • Junção interna

  • União externa

  • União direita

Exemplos de conjuntos de resultados de diferentes tipos de operações de união

Exemplos de conjuntos de resultados de diferentes tipos de operações de união, com uma representação antes e depois das tabelas de dados após cada operação.

União esquerda

As uniões esquerdas são o tipo de união mais comum. Por exemplo, se você tivesse um conjunto de dados de transação e quisesse combiná-lo com um conjunto de dados de referência, normalmente usaria um Left Join. Você carregaria a tabela de transações primeiro e, em seguida, carregaria o conjunto de dados de referência enquanto o juntasse por meio de um prefixo Left Join à tabela de transações já carregada. Left Join manteria todas as transações como estão e adicionaria os campos de dados de referência suplementares nos quais uma correspondência fosse encontrada.

União esquerda

Diagrama que descreve, em alto nível, as combinações de dados que ocorrem durante uma junção esquerda.

Junção interna

Quando houver dois conjuntos de dados nos quais você apenas se preocupa com os resultados em que há uma associação correspondente, considere usar Inner Join. Isso eliminará todos os registros dos dados de origem carregados e da tabela de destino se nenhuma correspondência for encontrada. Como resultado, isso pode deixar sua tabela de destino com menos registros do que antes da operação de união.

Junção interna

Diagrama que descreve, em alto nível, as combinações de dados que ocorrem durante uma junção interna.

Junção externa (padrão)

Quando você precisar manter os registros de destino e todos os registros de entrada, use Outer Join. Onde nenhuma correspondência for encontrada, cada conjunto de registros ainda será mantido, enquanto os campos no lado oposto da união permanecerão não preenchidos (nulos).

Se a palavra-chave "type" for omitida, o tipo de união padrão será uma união externa.

União externa

Diagrama que descreve, em alto nível, as combinações de dados que ocorrem durante uma junção externa.

União direita

Esse tipo de união mantém todos os registros prestes a serem carregados, ao mesmo tempo em que reduz os registros na tabela direcionada pela união para somente os registros em que há uma correspondência de união nos registros de entrada. Esse é um tipo de união de nicho que às vezes é usado como meio de reduzir uma tabela de registros já pré-carregada para um subconjunto necessário.

União direita

Diagrama que descreve, em alto nível, as combinações de dados que ocorrem durante uma junção direita.

Junção cruzada

Nota informativaSe não houver nomes de campos em comum entre a origem e o destino de uma operação de união, a união resultará em um produto cartesiano de todas as linhas: isso é chamado de "união cruzada".

Exemplo de conjunto de resultados de uma operação de "união cruzada"

Comparação antes e depois de dados de entrada com a saída após uma operação de união cruzada (que pode envolver uma operação de união de qualquer tipo).

Sintaxe e argumentos

Sintaxe:  

[inner | outer | left | right ]Join [ (tablename ) ]( loadstatement | selectstatement )

Argumentos
Argumento Descrição
tablename A tabela nomeada a ser comparada com a tabela carregada.
loadstatementou selectstatement O comando LOAD ou SELECT da tabela carregada.

Tópicos relacionados

Estes tópicos podem ajudar você a trabalhar com essa função:

Tópicos relacionados
Tópico Descrição
Combinando tabelas com Join e Keep Este tópico fornece uma explicação adicional dos conceitos de "união" e "manutenção" de conjuntos de dados.
Keep O prefixo de carregamento Keep é semelhante ao prefixo Join, mas não combina os conjuntos de dados de origem e de destino. Em vez disso, ele apara cada conjunto de dados de acordo com o tipo de operação adotada (interna, externa, esquerda ou direita).

Exemplos de script de carregamento - Junção esquerda

Uma junção esquerda mantém todos os registros da sua tabela principal (destino) e adiciona dados correspondentes de uma segunda tabela (origem). Se não houver correspondência na origem, o registro da tabela principal ainda aparecerá, mas com campos vazios da tabela de origem.

Exemplos de script de carregamento - Junção interna

Uma junção interna mantém apenas os registros que existem em ambas as tabelas (com base nos valores de campo correspondentes).

Exemplos de script de carregamento - Junção externa

Uma junção externa mantém todos os registros de ambas as tabelas. Onde não há correspondência, os campos são deixados em branco.

Exemplos de script de carregamento - Junção direita

Uma junção direita mantém todos os registros da tabela de origem e adiciona informações correspondentes da tabela de destino. Se a tabela de destino não tiver correspondência, os campos dela ficarão em branco.

Solução de problemas - Junção cruzada

Esta página ajudou?

Se você encontrar algum problema com esta página ou seu conteúdo – um erro de digitação, uma etapa ausente ou um erro técnico – avise-nos!