Support Microsoft Power BI
Share
Explore
Support Microsoft Power BI
Fusionner des requêtes (RECHERCHEV)

icon picker
Les 6 types de jointure

Cf. l’exercice “sample23-Query-Join” du pour 2 exemples :
celui expliqué ci-dessous (Client > Commande)
un autre exemple, de comparaison entre 2 périodes

Les données des exemples

Nous avons 5 clients. Le client 1 a passé 1 commande, le client 2 a passé 2 commandes, le client 3 a passé 3 commandes, les clients 4 et 5 n’ont pas passé de commande.
Le client 10 a passé une commande, mais n’est pas présent dans la liste des clients. Dans une base de données normalisée, ce genre de situation ne devrait pas être possible (respect de l’intégrité référentielle).
Table Client
0
client_id
1
1
2
2
3
3
4
4
5
5
There are no rows in this table
5
Count

Table Commandes
0
commande_id
client_id_commande
montant
1
1
1
100
2
2
2
200
3
3
2
300
4
4
3
400
5
5
3
500
6
6
3
600
7
7
10
1000
There are no rows in this table
7
Count


Externe gauche (par défaut)

Tous les clients de la table Client, même ceux sans commande.
8 lignes : les 6 commandes dont les clients sont dans la table Client (donc pas la commande du client 10) + les 2 clients sans commande
Dans le doute, utiliser toujours cette jointure
Externe gauche
0
client_id
commande_id
client_id_commande
montant
1
1
1
1
100
2
2
2
2
200
3
2
3
2
300
4
3
4
3
400
5
3
5
3
500
6
3
6
3
600
7
4
null
4
null
8
5
null
5
null
There are no rows in this table
8
Count

Externe droite

Toutes les commandes, même des clients qui n’existent pas dans la table Client (cliend_id 10).

7 lignes : les 7 lignes de la table Commandes

Externe droite
0
client_id
commande_id
client_id_commande
montant
1
1
1
1
100
2
2
2
2
200
3
2
3
2
300
4
3
4
3
400
5
3
5
3
500
6
3
6
3
600
7
null
7
10
1000
There are no rows in this table
7
Count

Externe entière

Tous les clients, même s’ils n’ont pas de commande, et toutes les commandes, même si le client n’existe pas dans la table Client.
9 lignes : les 6 lignes de la table Commandes dont les clients sont dans la table Client (donc pas la commande du client 10)
+ les 2 clients sans commande
+ la commande sans client (client_id 10).
Externe entière
0
client_id
commande_id
client_id_commande
montant
1
1
1
1
100
2
2
2
2
200
3
2
3
2
300
4
3
4
3
400
5
3
5
3
500
6
3
6
3
600
7
null
7
10
1 000
8
4
null
null
null
9
5
null
null
null
There are no rows in this table
9
Count

Interne

Les clients ayant au moins 1 commande et les commandes ayant au moins 1 client.
6 lignes : les 6 commandes dont les clients sont dans la table Client (donc pas la commande du client 10).
Interne
0
client_id
commande_id
client_id_commande
montant
1
1
1
1
100
2
2
2
2
200
3
2
3
2
300
4
3
4
3
400
5
3
5
3
500
6
3
6
3
600
There are no rows in this table
6
Count

Gauche opposée

Seulement les clients qui n’ont pas de commande.
Permet d’isoler des cas particuliers, ici des clients sans commande.
2 lignes : les 2 clients n’ayant passé aucune commande.
Gauche opposée
0
client_id
commande_id
client_id_commande
montant
1
4
null
null
null
2
5
null
null
null
There are no rows in this table
2
Count

Droite opposée

Seulement les commandes qui n’ont pas de client.
Permet d’isoler les non-conformités d’une table, ici de détecter les commandes sans client.
1 ligne, celle de la commande du client n’existant pas dans la table Client.
Droite opposée
0
client_id
commande_id
client_id_commande
montant
1
null
7
10
1 000
There are no rows in this table
1
Count
Share
 
Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.