Share via


join interno

Il inner sapore di join è simile al join interno standard dal mondo SQL. Un record di output viene generato ogni volta che un record sul lato sinistro ha la stessa chiave di join del record sul lato destro.

Diagramma che mostra il funzionamento del join.

Sintassi

LeftTable|joinkind=inner [ Hint ]RightTableonCondizioni

Altre informazioni sulle convenzioni di sintassi.

Parametri

Nome Tipo Obbligatoria Descrizione
LeftTable string ✔️ La tabella sinistra o l'espressione tabulare, talvolta denominata tabella esterna, le cui righe devono essere unite. Indicata come $left.
Hint string Zero o più hint di join separati dallo spazio sotto forma diValorenome= che controllano il comportamento dell'operazione di corrispondenza di riga e del piano di esecuzione. Per altre informazioni, vedere Hint.
RightTable string ✔️ La tabella destra o l'espressione tabulare, talvolta denominata tabella interna, le cui righe devono essere unite. Indicata come $right.
Condizioni string ✔️ Determina la corrispondenza delle righe da LeftTable con righe da RightTable. Se le colonne corrispondenti hanno lo stesso nome in entrambe le tabelle, usare la sintassi ONColumnName. In caso contrario, usare la sintassi ON $left.LeftColumn RightColumn==$right.. Per specificare più condizioni, è possibile usare la parola chiave "and" o separarle con virgole. Se si usano virgole, le condizioni vengono valutate usando l'operatore logico "e".

Suggerimento

Per ottenere prestazioni ottimali, se una tabella è sempre più piccola dell'altra, usarla come lato sinistro del join.

Hint

Nome dei parametri Valori Descrizione
hint.remote auto, left, local, right Vedere Join tra cluster
hint.strategy=broadcast Specifica il modo per condividere il carico di query nei nodi del cluster. Vedere join di trasmissione
hint.shufflekey=<key> La shufflekey query condivide il carico di query nei nodi del cluster usando una chiave per partizionare i dati. Vedere query shuffle
hint.strategy=shuffle La shuffle query strategia condivide il carico di query nei nodi del cluster, in cui ogni nodo elabora una partizione dei dati. Vedere query shuffle

Restituisce

Schema: tutte le colonne di entrambe le tabelle, incluse le chiavi corrispondenti.
Righe: solo righe corrispondenti da entrambe le tabelle.

Esempio

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

Output

Chiave Value1 Chiave1 Value2
b 3 b 10
b 2 b 10
c 4 c 20
c 4 c 30
k 5 k 50

Nota

  • È stato eseguito due volte il join di (b,10) dal lato destro: con (b,2) e (b,3) a sinistra.
  • È stato eseguito due volte il join di (c,4) nel lato sinistro: con (c,20) e (c,30) a destra.
  • (k,5) dalla sinistra e (k, 50) dalla destra è stata unita una volta.