leftouter join

Kopplingssmaken leftouter returnerar alla poster från tabellen till vänster och matchar bara poster från den högra tabellen.

Diagram som visar hur kopplingen fungerar.

Syntax

LeftTable|joinkind=leftouter [ Tips ] RightTableonVillkor

Läs mer om syntaxkonventioner.

Parametrar

Namn Typ Obligatorisk Beskrivning
LeftTable string ✔️ Den vänstra tabellen eller tabelluttrycket, som ibland kallas den yttre tabellen, vars rader ska sammanfogas. Betecknas som $left.
Tips string Noll eller flera blankstegsavgränsade kopplingstips i form av Namnvärde= som styr beteendet för radmatchningsåtgärden och körningsplanen. Mer information finns i Tips.
RightTable string ✔️ Den högra tabellen eller tabelluttrycket, som ibland kallas den inre tabellen, vars rader ska sammanfogas. Betecknas som $right.
Villkor string ✔️ Avgör hur rader från LeftTable matchas med rader från RightTable. Om de kolumner som du vill matcha har samma namn i båda tabellerna använder du syntaxen ONColumnName. Annars använder du syntaxen ON $left.LeftColumn==$right.RightColumn. Om du vill ange flera villkor kan du antingen använda nyckelordet "och" eller separera dem med kommatecken. Om du använder kommatecken utvärderas villkoren med hjälp av den logiska operatorn "och".

Tips

För bästa prestanda, om en tabell alltid är mindre än den andra, använder du den som vänster sida av kopplingen.

Tips

Namn på parametrar Värden Beskrivning
hint.remote auto, left, local, right Se Koppla mellan kluster
hint.strategy=broadcast Anger hur du delar frågebelastningen på klusternoder. Se sändningsanslutning
hint.shufflekey=<key> Frågan shufflekey delar frågebelastningen på klusternoder med hjälp av en nyckel för att partitioneringsdata. Se shuffle-fråga
hint.strategy=shuffle Strategifrågan shuffle delar frågebelastningen på klusternoder, där varje nod bearbetar en partition av data. Se shuffle-fråga

Returer

Schema: Alla kolumner från båda tabellerna, inklusive matchande nycklar.
Rader: Alla poster från den vänstra tabellen och endast matchande rader från den högra tabellen.

Exempel

Resultatet av en vänster yttre koppling för tabellerna X och Y innehåller alltid alla poster i den vänstra tabellen (X), även om kopplingsvillkoret inte hittar någon matchande post i den högra tabellen (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=leftouter Y on Key

Resultat

Nyckel Värde 1 Key1 Värde 2
a 1
b 2 b 10
b 3 b 10
c 4 c 20
c 4 c 30