Usar o operador de junção
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.
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. |