fullouter join
En fullouter
koppling kombinerar effekten av att använda både vänster och höger yttre kopplingar. För kolumner i tabellen som saknar en matchande rad innehåller null
resultatuppsättningen värden. För de poster som matchar skapas en enda rad i resultatuppsättningen som innehåller fält som fylls i från båda tabellerna.
Syntax
LeftTable|
join
kind=fullouter
[ Tips ] RightTableon
Villkor
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 ON ColumnName. 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 båda tabellerna med omatchade celler ifyllda med null.
Exempel
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=fullouter 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 |
d | 40 |
Relaterat innehåll
- Lär dig mer om andra join-smaker
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för