Dela via


inre koppling

Gäller för: ✅Microsoft FabricAzure Data ExplorerAzure MonitorMicrosoft Sentinel

Den inner kopplingssmaken ä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 Krävs Beskrivning
LeftTable string ✔️ Det vänstra tabell- eller tabelluttrycket, som ibland kallas för den yttre tabellen, vars rader ska sammanfogas. Anges som $left.
tips string Noll eller fler blankstegsavgränsade kopplingstips i form av Name=Value 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 för den inre tabellen, vars rader ska sammanfogas. Anges 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".

Dricks

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
hint.strategy=broadcast Anger hur du delar frågebelastningen på klusternoder. Se broadcast join
hint.shufflekey=<key> Den shufflekey frågan delar frågebelastningen på klusternoder med hjälp av en nyckel för att partitioneras data. Se shuffle-fråga
hint.strategy=shuffle Den shuffle strategifrågan delar frågebelastningen på klusternoder, där varje nod bearbetar en partition av data. Se shuffle-fråga

Returnerar

Schema: Alla kolumner från båda tabellerna, inklusive matchande nycklar.
Rader: Endast matchande rader från båda tabellerna.

Exempel

Exempelfrågan kombinerar rader från tabellerna X och Y där nycklarna matchar och visar endast de rader som finns i båda tabellerna.

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

utdata

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

Not

  • (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.