Korzystanie z operatora sprzężenia
Operator sprzężenia scala wiersze dwóch tabel, aby utworzyć nową tabelę, pasując do wartości określonych kolumn z każdej tabeli.
Składnia
LeftTable | join [JoinParameters] ( RightTable ) w atrybutach
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
Pierwsza tabela określona w sprzężeniu jest uważana za tabelę Lewa. Tabela po słowie kluczowym sprzężenia jest właściwą tabelą. Kolumny z tabel są wyznaczone, i $left.Column
, $right.Column
aby odróżnić kolumny tabel, do których odwołujesz się.
Podczas łączenia tabel należy użyć opcji sprzężenia w celu określenia zachowania łączenia. Ważne jest, aby zrozumieć wpływ rekordów po lewej i prawej stronie na podstawie smaku sprzężenia. Na poniższej ilustracji pokazano, które rekordy będą przechowywane, jeśli istnieje lub nie ma pasującego rekordu w innym zestawie danych. Sprzężenie wewnętrzne będzie pokazywać rekordy z lewej strony tylko wtedy, gdy po prawej stronie znajduje się pasujący rekord. Prawa strona będzie również wymagać rekordu po lewej stronie.
Sprzężenia smak | Rekordy wyjściowe |
---|---|
kind=leftanti, kind=leftantisemi | Zwraca wszystkie rekordy po lewej stronie, które nie mają dopasowań z prawej strony |
kind=rightanti, kind=rightantisemi | Zwraca wszystkie rekordy z prawej strony, które nie mają dopasowań z lewej strony. |
rodzaj nieokreślony, kind=innerunique | Tylko jeden wiersz po lewej stronie jest dopasowywany dla każdej wartości w kluczu. Dane wyjściowe zawierają wiersz dla każdego dopasowania tego wiersza z wierszami z prawej strony |
kind=leftsemi | Zwraca wszystkie rekordy z lewej strony, które mają dopasowania z prawej strony. |
kind=rightsemi | Zwraca wszystkie rekordy z prawej strony, które mają dopasowania z lewej strony. |
kind=inner | Zawiera wiersz w danych wyjściowych dla każdej kombinacji pasujących wierszy z lewej i prawej. |
kind=leftouter (lub kind=rightouter lub kind=fullouter) | Zawiera wiersz dla każdego wiersza po lewej i prawej stronie, nawet jeśli nie jest zgodny. Niedopasowane komórki wyjściowe zawierają wartości null. |