De join-operator gebruiken
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.
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. |