fullouter join
Van toepassing op: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel-
Een fullouter
join combineert het effect van het toepassen van zowel left- als right outer-joins. Voor kolommen van de tabel die geen overeenkomende rij hebben, bevat de resultatenset null
waarden. Voor records die wel overeenkomen, wordt één rij geproduceerd in de resultatenset die velden bevat die uit beide tabellen zijn ingevuld.
Syntaxis
LeftTable|
join
kind=fullouter
[ Hints ] RightTableon
Voorwaarden
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. Aangeduid als $left . |
hints | string |
Nul of meer door spaties gescheiden joinhints in de vorm van Naam= Waarde waarmee het gedrag van de bewerking en het uitvoeringsplan voor rijovereenkomsten wordt bepaald. Zie Hintsvoor meer informatie. |
|
RightTable- | string |
✔️ | De rechtertabel of tabellaire expressie, ook wel de binnenste tabel genoemd, waarvan de rijen moeten worden samengevoegd. Aangeduid als $right . |
voorwaarden | string |
✔️ | Bepaalt hoe rijen uit LeftTable- overeenkomen met rijen uit RightTable-. Als de kolommen die u wilt vergelijken, dezelfde naam hebben in beide tabellen, gebruikt u de syntaxis ON ColumnName. Gebruik anders de syntaxis ON $left. LeftColumn== $right. RightColumn-. Als u meerdere voorwaarden wilt opgeven, kunt u het trefwoord 'en' gebruiken of scheiden met komma's. Als u komma's gebruikt, worden de voorwaarden geëvalueerd met behulp van de logische operator 'and'. |
Fooi
Als de ene tabel altijd kleiner is dan de andere, gebruikt u deze als de linkerkant van de join.
Hints
Naam van parameters | Waarden | Beschrijving |
---|---|---|
hint.remote |
auto , left , local , right |
Zie voor meerdere 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. |
Zie query's in willekeurige volgorde |
hint.strategy=shuffle |
De shuffle strategiequery deelt de querybelasting op clusterknooppunten, waarbij elk knooppunt één partitie van de gegevens verwerkt. |
Zie query's in willekeurige volgorde |
Retourneert
Schema-: alle kolommen uit beide tabellen, inclusief de overeenkomende sleutels.
rijen: alle records uit beide tabellen met niet-overeenkomende cellen gevuld met null.
Voorbeeld
Deze voorbeeldquery combineert rijen uit zowel tabellen X als Y, waarbij ontbrekende waarden worden ingevuld met NULL, waarbij er geen overeenkomst is in de andere tabel. Hiermee kunt u alle mogelijke combinaties van toetsen uit beide tabellen bekijken.
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
uitvoer
Sleutel | Waarde1 | Sleutel1 | Waarde2 |
---|---|---|---|
b | 3 | b | 10 |
b | 2 | b | 10 |
c | 4 | c | 20 |
c | 4 | c | 30 |
d | 40 | ||
een | 1 |
Verwante inhoud
- Meer informatie over andere joins