De join-operator gebruiken

Voltooid

De join-operator voegt de rijen van twee tabellen samen om een nieuwe tabel te vormen door de waarden van de opgegeven kolommen uit elke tabel te vergelijken.

Syntaxis

Linkertabel | join [JoinParameters] ( RightTable ) op kenmerken

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

De eerste tabel die in de join is opgegeven, wordt beschouwd als de linkertabel. De tabel na het trefwoord join is de juiste tabel. De kolommen uit de tabellen worden aangewezen, de $left.Column en de $right.Column om onderscheid te maken tussen de tabellenkolommen waarnaar u verwijst.

Wanneer u tabellen samenvoegt, gebruikt u Join-smaken om het joingedrag te bepalen. Het is essentieel om inzicht te krijgen in de impact van records aan de linkerkant en rechts op basis van de joinsmaak. In de onderstaande afbeelding ziet u welke records worden bewaard als er een overeenkomende record in de andere gegevensset is of niet is. De inner join toont alleen records aan de linkerkant als er een overeenkomende record aan de rechterkant staat. Aan de rechterkant is ook een record aan de linkerkant vereist.

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

Deelnemen aan smaak Uitvoerrecords
kind=leftanti, kind=leftantisemi Retourneert alle records aan de linkerkant die geen overeenkomsten van rechts hebben
kind=rightanti, kind=rightantisemi Retourneert alle records aan de rechterkant die geen overeenkomsten van links hebben.
soort niet opgegeven, kind =innerunique Er wordt slechts één rij aan de linkerkant vergeleken voor elke waarde van de sleutel. De uitvoer bevat een rij voor elke overeenkomst van deze rij met rijen van rechts
kind=leftsemi Retourneert alle records aan de linkerkant die overeenkomsten van rechts hebben.
kind=rightsemi Retourneert alle records aan de rechterkant die overeenkomsten van links hebben.
kind=inner Bevat een rij in de uitvoer voor elke combinatie van overeenkomende rijen van links en rechts.
kind=leftouter (of kind=rightouter of kind=fullouter) Bevat een rij voor elke rij aan de linkerkant en rechts, zelfs als deze geen overeenkomst heeft. De niet-overeenkomende uitvoercellen bevatten null-waarden.