fullouter join
Si applica a: ✅Microsoft Fabric✅Azure Esplora dati✅ Azure Monitor✅Microsoft Sentinel
Un fullouter
join combina l'effetto dell'applicazione di outer join sia sinistro che destro. Per le colonne della tabella che non dispongono di una riga corrispondente, il set di risultati contiene null
valori. Per i record che corrispondono, viene generata una singola riga nel set di risultati contenente i campi popolati da entrambe le tabelle.
Sintassi
LeftTable |
join
kind=fullouter
[ Hints ] RightTable Conditions on
Altre informazioni sulle convenzioni di sintassi.
Parametri
Nome | Digita | Obbligatorio | Descrizione |
---|---|---|---|
LeftTable | string |
✔️ | Tabella sinistra o espressione tabulare, talvolta denominata tabella esterna, le cui righe devono essere unite. Indicata come $left . |
Hint | string |
Zero o più hint join separati da spazi sotto forma di Valore nome = che controllano il comportamento dell'operazione di corrispondenza di riga e del piano di esecuzione. Per altre informazioni, vedere Hint. |
|
RightTable | string |
✔️ | Tabella destra o espressione tabulare, talvolta denominata tabella interna, le cui righe devono essere unite. Indicata come $right . |
Condizioni | string |
✔️ | Determina la corrispondenza delle righe di LeftTable con le righe di RightTable. Se le colonne che si desidera associare hanno lo stesso nome in entrambe le tabelle, usare la sintassi ON ColumnName. In caso contrario, usare la sintassi ON $left. LeftColumn $right. == RightColumn. 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 "and". |
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 in cui condividere il carico di query sui nodi del cluster. | Vedere broadcast join |
hint.shufflekey=<key> |
La shufflekey query condivide il carico delle query sui nodi del cluster, usando una chiave per partizionare i dati. |
Vedere query shuffle |
hint.strategy=shuffle |
La shuffle query di strategia condivide il carico di query sui nodi del cluster, in cui ogni nodo elabora una partizione dei dati. |
Vedere query shuffle |
Valori restituiti
Schema: tutte le colonne di entrambe le tabelle, incluse le chiavi corrispondenti.
Righe: tutti i record di entrambe le tabelle con celle non corrispondenti popolate con null.
Esempio
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
Output
Chiave | Value1 | Chiave1 | Valore2 |
---|---|---|---|
b | 3 | b | 10 |
b | 2 | b | 10 |
c | 4 | c | 20 |
c | 4 | c | 30 |
d | 40 | ||
a | 1 |
Contenuto correlato
- Informazioni su altri tipi di join