Compartilhar via


leftouter join

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

A leftouter variante de junção retorna todos os registros da tabela do lado esquerdo e apenas os registros correspondentes da tabela do lado direito.

Diagrama que mostra como funciona a junção.

Sintaxe

LeftTable | join kind=leftouter [ 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 da tabela da esquerda e apenas as linhas correspondentes da tabela da direita.

Exemplo

O resultado de uma junção externa esquerda para as tabelas X e Y sempre contém todos os registros da tabela esquerda (X), mesmo que a condição de junção não encontre nenhum registro correspondente na tabela direita (Y).

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=leftouter Y on Key

Saída

Chave Value1 Key1 Value2
um 1
b 2 b 10
b 3 b 10
c 4 c 20
c 4 c 30