4.8. Nœud de jointure
Nombre d’entrées : 2 ou plus.
Nombre de sorties : 1.
- Définition
Un nœud de jointure permet de réaliser une jointure SQL à partir de plusieurs jeux de données d’entrée.
- Paramétrage
Dès lors que le nœud de jointure est connecté sur son entrée à au moins 2 nœuds, il est possible de cliquer dans le configurateur sur le bouton Ajouter une jointure
et de configurer pour chaque paire de jeux de données
d’entrée impliqués dans la jointure :
- Exemple visuel
Les quatre types de jointure possibles :
En se basant sur les données suivantes et en joignant sur le champ Marque :
Marque
Modèle
Ford
Focus
Citroën
Picasso
Renault
Mégane
Nissan
GT-R
Marque
Pays
Renault
France
Toyota
Japon
Ford
USA
Inner : conserve les données dont les enregistrements du premier jeu de données correspondent avec ceux du second jeu de données :
Marque
Modèle
Pays
Ford
Focus
USA
Renault
Mégane
France
Left (ou Left Outer) : conserve toutes les données du premier jeu de données en faisant correspondre ses enregistrements avec ceux du second jeu de données. Si aucune correspondance n’a été trouvée, les champs correspondant au second jeu de données seront vides :
Marque
Modèle
Pays
Ford
Focus
USA
Citroën
Picasso
<null>
Renault
Mégane
France
Nissan
GT-R
<null>
Right (ou Right Outer) : conserve toutes les données du second jeu de données en faisant correspondre ses enregistrements avec ceux du premier jeu de données. Si aucune correspondance n’a été trouvée, les champs correspondant au premier jeu de données seront vides :
Marque
Modèle
Pays
Renault
Mégane
France
Toyota
<null>
Japon
Ford
Focus
USA
Full (ou Full Outer) : conserve toutes les données de chaque jeu de données(le premier et le second) en faisant correspondre ses enregistrements avec ceux de l’autre jeu de données. Si aucune correspondance n’a été trouvée sur l’un des jeux de données, les champs correspondants seront vides :
Marque
Modèle
Pays
Ford
Focus
USA
Citroën
Picasso
<null>
Renault
Mégane
France
Nissan
GT-R
<null>
Toyota
<null>
Japon
- Exemples pratiques
Note
Exemple 1 : Jointure interne
Avant l’opération :
Table A :
id_client
nom
1
Alice
2
Bob
3
Carol
Table B :
id_client
id_commande
1
1001
2
1002
4
1003
Configuration du nœud :
Type de jointure : Jointure interne
Condition de jointure :
TableA.id_client = TableB.id_client
Après l’opération :
id_client
nom
id_commande
1
Alice
1001
2
Bob
1002
Note
Exemple 2 : Jointure externe gauche
Avant l’opération :
Table A :
id_client
nom
1
Alice
2
Bob
3
Carol
Table B :
id_client
id_commande
1
1001
2
1002
4
1003
Configuration du nœud :
Type de jointure : Jointure externe gauche
Condition de jointure :
TableA.id_client = TableB.id_client
Après l’opération :
id_client
nom
id_commande
1
Alice
1001
2
Bob
1002
3
Carol
NULL
Note
Exemple 3 : Jointure externe droite
Avant l’opération :
Table A :
customer_id
nom
1
Alice
2
Bob
3
Carol
Table B :
customer_id
order_id
1
1001
2
1002
4
1003
Configuration du nœud :
Type de jointure : Jointure externe droite
Condition de jointure :
TableA.customer_id = TableB.customer_id
Après l’opération :
customer_id
nom
order_id
1
Alice
1001
2
Bob
1002
4
NULL
1003
Note
Exemple 4 : Jointure externe complète
Avant l’opération :
Table A :
customer_id
nom
1
Alice
2
Bob
3
Carol
Table B :
customer_id
order_id
1
1001
2
1002
4
1003
Configuration du nœud :
Type de jointure : Jointure externe complète
Condition de jointure :
TableA.customer_id = TableB.customer_id
Après l’opération :
customer_id
nom
order_id
1
Alice
1001
2
Bob
1002
3
Carol
NULL
4
NULL
1003