jointure leftouter
La leftouter
saveur de jointure retourne tous les enregistrements de la table latérale gauche et uniquement les enregistrements correspondants de la table latérale droite.
Syntax
LeftTable|
join
kind=leftouter
[ Indicateurs ] RightTableon
Conditions
Découvrez les conventions de syntaxe.
Paramètres
Nom | Type | Obligatoire | Description |
---|---|---|---|
LeftTable | string |
✔️ | La table de gauche ou expression tabulaire, parfois appelée « table externe », dont les lignes doivent être fusionnées. Désignée sous la forme suivante : $left . |
Indicateurs | string |
Zéro ou plusieurs indicateurs de jointure séparés par un espace, sous la forme Nom= Valeur, qui contrôlent le comportement de l’opération de mise en correspondance des lignes et du plan d’exécution. Pour plus d’informations, consultez Indicateurs. |
|
RightTable | string |
✔️ | La table de droite ou expression tabulaire, parfois appelée « table interne », dont les lignes doivent être fusionnées. Désignée sous la forme suivante : $right . |
Conditions | string |
✔️ | Détermine le mode de mise en correspondance des lignes de LeftTable avec les lignes de RightTable. Si les colonnes à mettre en correspondre ont le même nom dans les deux tables, utilisez la syntaxe ON ColumnName. Sinon, utilisez la syntaxe ON $left. LeftColumn== $right. RightColumn. Pour spécifier plusieurs conditions, vous pouvez utiliser le mot clé « and » ou séparer les conditions par des virgules. Si vous utilisez des virgules, les conditions sont évaluées avec l’opérateur logique « and ». |
Conseil
Pour des performances optimales, si une table est toujours plus petite que l’autre, utilisez-la pour le côté gauche de la jointure.
Indicateurs
Nom des paramètres | Valeurs | Description |
---|---|---|
hint.remote |
auto , left , local , right |
Voir Jointure entre clusters |
hint.strategy=broadcast |
Spécifie comment partager la charge de la requête sur les nœuds du cluster. | Consultez Répartir une jointure. |
hint.shufflekey=<key> |
La requête shufflekey partage la charge de requête sur les nœuds de cluster à l’aide d’une clé pour partitionner les données. |
Voir requête de lecture aléatoire |
hint.strategy=shuffle |
La requête de stratégie shuffle partage la charge de requête sur les nœuds de cluster, où chaque nœud traite une partition des données. |
Voir requête de lecture aléatoire |
Retours
Schéma : toutes les colonnes des deux tables, y compris les clés correspondantes.
Lignes : tous les enregistrements de la table de gauche et uniquement les lignes correspondantes de la table de droite.
Exemple
Le résultat d’une jointure externe gauche pour les tables X et Y contient toujours tous les enregistrements de la table de gauche (X), même si la condition de jointure ne trouve aucun enregistrement correspondant dans la table de droite (Y).
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=leftouter Y on Key
Sortie
Clé | Value1 | Clé1 | Value2 |
---|---|---|---|
a | 1 | ||
b | 2 | b | 10 |
b | 3 | b | 10 |
c | 4 | c | 20 |
c | 4 | c | 30 |
Contenu connexe
- En savoir plus sur les autres saveurs de jointure
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour