Compartilhar via


inner join

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

O inner tipo de junção é como a junção interna padrão do mundo SQL. Um registro de saída é gerado sempre que um registro no lado esquerdo tiver a mesma chave de junção que o registro no lado direito.

Diagrama que mostra como funciona a junção.

Sintaxe

LeftTable | join kind=inner [ 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: Apenas linhas correspondentes de ambas as tabelas.

Exemplo

let X = datatable(Key:string, Value1:long)
[
    'a',1,
    'b',2,
    'b',3,
    'k',5,
    'c',4
];
let Y = datatable(Key:string, Value2:long)
[
    'b',10,
    'c',20,
    'c',30,
    'd',40,
    'k',50
];
X | join kind=inner 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
k 5 k 50

Observação

  • (b, 10) do lado direito, foi unida duas vezes: com (b, 2) e (b, 3) à esquerda.
  • (c, 4) no lado esquerdo, foi unida duas vezes: com (c, 20) e (c, 30) à direita.
  • (k, 5) da esquerda e (k, 50) da direita foi unido uma vez.