inre koppling

Kopplingssmaken inner är som den inre standardkopplingen från SQL-världen. En utdatapost skapas när en post på vänster sida har samma kopplingsnyckel som posten till höger.

Diagram som visar hur kopplingen fungerar.

Syntax

LeftTable|joinkind=inner [ Tips ] RightTableonVillkor

Läs mer om syntaxkonventioner.

Parametrar

Namn Typ Obligatorisk Beskrivning
LeftTable string ✔️ Den vänstra tabellen eller tabelluttrycket, som ibland kallas för den yttre tabellen, vars rader ska sammanfogas. Betecknas som $left.
Tips string Noll eller fler 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 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

Parameternamn Värden Beskrivning
hint.remote auto, left, local, right Se Koppla mellan kluster
hint.strategy=broadcast Anger hur du vill dela frågebelastningen på klusternoder. Se sändningskoppling
hint.shufflekey=<key> Frågan shufflekey delar frågebelastningen på klusternoder med hjälp av en nyckel för att partitioneras data. 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: Matchar endast rader från båda tabellerna.

Exempel

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

Resultat

Nyckel Värde1 Key1 Värde 2
b 3 b 10
b 2 b 10
c 4 c 20
c 4 c 30
k 5 k 50

Anteckning

  • (b,10) från höger sida, sammanfogades två gånger: med både (b,2) och (b,3) till vänster.
  • (c,4) på vänster sida, sammanfogades två gånger: med både (c,20) och (c,30) till höger.
  • (k,5) från vänster och (k, 50) från höger anslöts en gång.