Share via


leftsemi join

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

Diagram dat laat zien hoe de join werkt.

Syntax

LeftTable|joinkind=leftsemi [ Hints ] RechtstabelonVoorwaarden

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. Aangegeven als $left.
Hints string Nul of meer door spaties gescheiden joinhints in de vorm van Naamwaarde= die het gedrag van de rijovereenkomst en het uitvoeringsplan bepalen. Zie Hints voor meer informatie.
Rechtstabel string ✔️ De rechtertabel of tabellaire expressie, ook wel de binnenste tabel genoemd, waarvan de rijen moeten worden samengevoegd. Aangegeven als $right.
Voorwaarden string ✔️ Bepaalt hoe rijen uit LeftTable worden vergeleken 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 ze scheiden met komma's. Als u komma's gebruikt, worden de voorwaarden geëvalueerd met behulp van de logische operator 'en'.

Tip

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

Hints

Naam van parameters Waarden Beschrijving
hint.remote auto, left, local, right Zie Join tussen 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. Bekijk query in willekeurige volgorde
hint.strategy=shuffle De shuffle strategiequery deelt de querybelasting op clusterknooppunten, waarbij elk knooppunt één partitie van de gegevens verwerkt. Bekijk query in willekeurige volgorde

Retouren

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

Voorbeeld

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