Partilhar via


associação fullouter

Uma fullouter associação combina o efeito da aplicação de associações externas à esquerda e à direita. Para colunas da tabela que não têm uma linha correspondente, o conjunto de resultados contém null valores. Para os registos que correspondem, é produzida uma única linha no conjunto de resultados que contém campos preenchidos de ambas as tabelas.

Diagrama que mostra como a associação funciona.

Syntax

LeftTable|joinkind=fullouter [ Sugestões ] Tabela DireitaonCondições

Saiba mais sobre as convenções de sintaxe.

Parâmetros

Nome Tipo Necessário Descrição
LeftTable string ✔️ A tabela esquerda ou expressão tabular, por vezes denominada tabela externa, cujas linhas devem ser intercaladas. Indicado como $left.
Sugestões string Zero ou mais sugestões de associação separadas por espaço na forma deValor de Nome= que controlam o comportamento da operação de correspondência de linhas e do plano de execução. Para obter mais informações, consulte Sugestões.
Tabela Direita string ✔️ A tabela ou expressão tabular direita, por vezes denominada tabela interna, cujas linhas devem ser intercaladas. Indicado como $right.
Condições string ✔️ Determina como as linhas de LeftTable são correspondidas com linhas da Tabela Direita. Se as colunas que pretende corresponder tiverem o mesmo nome em ambas as tabelas, utilize a sintaxe ONColumnName. Caso contrário, utilize a sintaxe ON $left.LeftColumn==$right.RightColumn. Para especificar várias condições, pode utilizar a palavra-chave "e" ou separá-las com vírgulas. Se utilizar vírgulas, as condições são avaliadas com o operador lógico "e".

Dica

Para obter um melhor desempenho, se uma tabela for sempre mais pequena do que a outra, utilize-a como o lado esquerdo da associação.

Sugestões

Nome dos parâmetros Valores Descrição
hint.remote auto, left, local, right Veja Associação entre Clusters
hint.strategy=broadcast Especifica a forma de partilhar a carga de consulta em nós de cluster. Ver associação de difusão
hint.shufflekey=<key> A shufflekey consulta partilha a carga de consulta em nós de cluster, utilizando uma chave para os dados de partição. Ver consulta aleatória
hint.strategy=shuffle A shuffle consulta de estratégia partilha a carga de consulta em nós de cluster, onde cada nó processa uma partição dos dados. Ver consulta aleatória

Devoluções

Esquema: todas as colunas de ambas as tabelas, incluindo as teclas correspondentes.
Linhas: todos os registos de ambas as tabelas com células sem correspondência preenchidas com nulos.

Exemplo

let X = datatable(Key:string, Value1:long)
[
    'a',1,
    'b',2,
    'b',3,
    'c',4
];
let Y = datatable(Key:string, Value2:long)
[
    'b',10,
    'c',20,
    'c',30,
    'd',40
];
X | join kind=fullouter Y on Key

Saída

Chave Valor1 Chave1 Valor2
um 1
b 2 b 10
b 3 b 10
c 4 c 20
c 4 c 30
d 40