Partilhar via


fullouter join

Aplica-se a: ✅Microsoft FabricAzure Data Explorer✅Azure MonitorMicrosoft Sentinel

Uma fullouter junção combina o efeito da aplicação de junções externas esquerda e direita. Para colunas da tabela que não possuem uma linha correspondente, o conjunto de resultados contém null valores. Para os registros correspondentes, uma única linha é produzida no conjunto de resultados contendo campos preenchidos de ambas as tabelas.

Diagrama que mostra como funciona a junção.

Sintaxe

LeftTable | join kind=fullouter [ Dicas ] Condições RightTable on

Saiba mais sobre as convenções de sintaxe.

Parâmetros

Nome Digitar Obrigatória Descrição
LeftTable string ✔️ A tabela esquerda ou expressão tabular, às vezes chamada de tabela externa, cujas linhas serão mescladas. Indicada como $left.
Dicas string Zero ou mais dicas de junção separadas por espaço na forma de Valor de Nome = que controlam o comportamento da operação de correspondência de linha e do plano de execução. Para mais informações, confira Dicas.
RightTable string ✔️ A tabela direita ou expressão tabular, às vezes chamada de tabela interna, cujas linhas serão mescladas. Indicada como $right.
Condições string ✔️ Determina como as linhas de LeftTable correspondem com as linhas de RightTable. Se as colunas que você deseja corresponder tiverem o mesmo nome em ambas as tabelas, use a sintaxe ON ColumnName. Caso contrário, use a sintaxe ON $left.LeftColumn $right.==RightColumn. Para especificar várias condições, você pode usar a palavra-chave "and" ou separá-las com vírgulas. Se você usar vírgulas, as condições serão avaliadas usando o operador lógico "and".

Dica

Para ter o melhor desempenho, se uma tabela sempre for menor do que a outra, use-a como o lado esquerdo da junção.

Dicas

Nome dos parâmetros Valores Descrição
hint.remote auto, left, local, right Confira Junção entre clusters
hint.strategy=broadcast Especifica como compartilhar a carga de consulta em nós de cluster. Confira a junção de transmissão
hint.shufflekey=<key> A consulta shufflekey compartilha a carga de consulta em nós de cluster usando uma chave para particionar dados. Confira a consulta aleatória
hint.strategy=shuffle A consulta de estratégia shuffle compartilha a carga de consulta em nós de cluster, em que cada nó processará uma partição dos dados. Confira a consulta aleatória

Devoluções

Esquema: todas as colunas de ambas as tabelas, incluindo as chaves correspondentes.
Linhas: todos os registros de ambas as tabelas com células não correspondentes preenchidas com nulo.

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 Value1 Key1 Value2
b 3 b 10
b 2 b 10
c 4 c 20
c 4 c 30
d 40
um 1