Usar o operador de junção

Concluído

O operador de junção mescla as linhas das duas tabelas para formar uma nova tabela, correspondendo valores das colunas especificadas de cada tabela.

Sintaxe

Tabela à esquerda | junção [Joinparameters] (Direitatable) em Atributos

SecurityEvent 
| where EventID == "4624" 
| summarize LogOnCount=count() by EventID, Account 
| project LogOnCount, Account 
| join kind = inner (
     SecurityEvent 
     | where EventID == "4634" 
     | summarize LogOffCount=count() by EventID, Account 
     | project LogOffCount, Account 
) on Account

A primeira tabela especificada na junção é a tabela esquerda. A tabela após a palavra-chave de junção é a tabela direita. As colunas das tabelas são designadas, $left.Column e $right.Column, para distinguir a quais colunas de tabelas você está fazendo referência.

Ao unir as tabelas, use as variantes de junção para determinar o comportamento de junção. É essencial compreender o impacto dos registros no lado esquerdo e direito com base na variante de junção. O gráfico abaixo mostra quais registros serão mantidos se houver ou não um registro correspondente no outro conjunto de dados. A junção interna mostrará apenas os registros do lado esquerdo se houver um registro correspondente no lado direito. O lado direito também precisará de um registro do lado esquerdo.

Diagram of Example join types, showing where how joins work.

Variante de Junção Registros de Saída
kind=leftanti, kind=leftantisemi Retorna todos os registros do lado esquerdo que não têm correspondências da direita
kind=rightanti, kind=rightantisemi Retorna todos os registros do lado direito que não têm correspondências da esquerda.
kind unspecified, kind=innerunique Somente uma linha do lado esquerdo corresponde a cada valor na chave. A saída contém uma linha para cada correspondência dessa linha com as linhas da direita
kind=leftsemi Retorna todos os registros do lado esquerdo que têm correspondências da direita.
kind=rightsemi Retorna todos os registros do lado direito que têm correspondências da esquerda.
kind=inner Contém uma linha na saída para cada combinação de linhas correspondentes da esquerda e da direita.
Kind = leftouter (ou Kind = rightouter ou Kind = fullouter) Contém uma linha para cada linha à esquerda e à direita, mesmo se não houver correspondência. As células de saída sem correspondência contêm valores nulos.