Partilhar via


junção fullouter

Aplica-se a: ✅Microsoft FabricAzure Data ExplorerAzure MonitorMicrosoft Sentinel

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

Diagrama que mostra como a junção funciona.

Sintaxe

LeftTable|joinkind=fullouter [ Dicas ] RightTableonCondições

Saiba mais sobre convenções de sintaxe.

Parâmetros

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

Dica

Para obter o melhor desempenho, se uma mesa for sempre menor 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 Consulte de ingresso entre clusters
hint.strategy=broadcast Especifica a maneira de compartilhar a carga de consulta em nós de cluster. Veja transmissão participar
hint.shufflekey=<key> A consulta shufflekey compartilha a carga de consulta em nós de cluster, usando uma chave para particionar dados. Consulte consulta aleatória
hint.strategy=shuffle A consulta de estratégia shuffle compartilha a carga de consulta em nós de cluster, onde cada nó processa uma partição dos dados. Consulte consulta aleatória

Devoluções

Esquema: Todas as colunas de ambas as tabelas, incluindo as teclas correspondentes.
Linhas: Todos os registros de ambas as tabelas com células incomparáveis preenchidas com nulo.

Exemplo

Esta consulta de exemplo combina linhas de ambas as tabelas X e Y, preenchendo valores ausentes com NULL onde não há correspondência na outra tabela. Isso permite que você veja todas as combinações possíveis de teclas de ambas as tabelas.

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

Output

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