Delen via


inner join

Van toepassing op: ✅Microsoft FabricAzure Data ExplorerAzure MonitorMicrosoft Sentinel-

De inner join smaak is net als de standaard inner join uit de SQL-wereld. Er wordt een uitvoerrecord geproduceerd wanneer een record aan de linkerkant dezelfde joinsleutel heeft als de record aan de rechterkant.

diagram waarin wordt weergegeven hoe de join werkt.

Syntaxis

LeftTable|joinkind=inner [ 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: alleen overeenkomende rijen uit beide tabellen.

Voorbeeld

In de voorbeeldquery worden rijen uit tabel X en Y gecombineerd, waarbij de sleutels overeenkomen, waarbij alleen de rijen in beide tabellen worden weergegeven.

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

uitvoer

Sleutel Waarde1 Sleutel1 Waarde2
b 3 b 10
b 2 b 10
c 4 c 20
c 4 c 30
k 5 k 50

Notitie

  • (b,10) aan de rechterkant, werd twee keer samengevoegd: met zowel (b,2) als (b,3) aan de linkerkant.
  • (c,4) aan de linkerkant, werd twee keer samengevoegd: met zowel (c,20) als (c,30) aan de rechterkant.
  • (k,5) van links en (k, 50) van rechts is eenmaal samengevoegd.
  • Meer informatie over andere joins