Delen via


fullouter join

Van toepassing op: ✅Microsoft FabricAzure Data ExplorerAzure MonitorMicrosoft 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.

diagram waarin wordt weergegeven hoe de join werkt.

Syntaxis

LeftTable|joinkind=fullouter [ Hints ] RightTableonVoorwaarden

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 ONColumnName. 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
  • Meer informatie over andere joins