Delen via


leftsemi join

Van toepassing op: ✅Microsoft FabricAzure Data ExplorerAzure MonitorMicrosoft Sentinel-

De leftsemi join-smaak retourneert alle records aan de linkerkant die overeenkomen met een record aan de rechterkant. Alleen kolommen aan de linkerkant worden geretourneerd.

diagram waarin wordt weergegeven hoe de join werkt.

Syntaxis

LeftTable|joinkind=leftsemi [ Hints ] RightTableonVoorwaarden

Meer informatie over syntaxisconventies.

Parameters

Naam Type Vereist Beschrijving
LeftTable- string ✔️ De linkertabel of tabellaire expressie, ook wel de buitenste tabel genoemd, waarvan de rijen moeten worden samengevoegd. Aangeduid als $left.
hints string Nul of meer door spaties gescheiden joinhints in de vorm van Naam=Waarde waarmee het gedrag van de bewerking en het uitvoeringsplan voor rijovereenkomsten wordt bepaald. Zie Hintsvoor meer informatie.
RightTable- string ✔️ De rechtertabel of tabellaire expressie, ook wel de binnenste tabel genoemd, waarvan de rijen moeten worden samengevoegd. Aangeduid als $right.
voorwaarden string ✔️ Bepaalt hoe rijen uit LeftTable- overeenkomen met rijen uit RightTable-. Als de kolommen die u wilt vergelijken, dezelfde naam hebben in beide tabellen, gebruikt u de syntaxis ONColumnName. Gebruik anders de syntaxis ON $left.LeftColumn==$right.RightColumn-. Als u meerdere voorwaarden wilt opgeven, kunt u het trefwoord 'en' gebruiken of scheiden met komma's. Als u komma's gebruikt, worden de voorwaarden geëvalueerd met behulp van de logische operator 'and'.

Fooi

Als de ene tabel altijd kleiner is dan de andere, gebruikt u deze als de linkerkant van de join.

Hints

Naam van parameters Waarden Beschrijving
hint.remote auto, left, local, right Zie voor meerdere clusters
hint.strategy=broadcast Hiermee geeft u de manier op om de querybelasting op clusterknooppunten te delen. Zie broadcast join
hint.shufflekey=<key> De shufflekey query deelt de querybelasting op clusterknooppunten met behulp van een sleutel om gegevens te partitioneren. Zie query's in willekeurige volgorde
hint.strategy=shuffle De shuffle strategiequery deelt de querybelasting op clusterknooppunten, waarbij elk knooppunt één partitie van de gegevens verwerkt. Zie query's in willekeurige volgorde

Retourneert

Schema: Alle kolommen uit de linkertabel.
rijen: alle records uit de linkertabel die overeenkomen met records uit de rechtertabel.

Voorbeeld

Deze query filtert en retourneert alleen de rijen uit tabel X met een overeenkomende sleutel in tabel Y.

let X = datatable(Key:string, Value1:long)
[
    'a',1,
    'b',2,
    'b',3,
    'c',4
];
let Y = datatable(Key:string, Value2:long)
[
    'b',10,
    'c',20,
    'c',30,
    'd',40
];
X | join kind=leftsemi Y on Key

uitvoer

Sleutel Waarde1
b 2
b 3
c 4
  • Meer informatie over andere joins