Académique Documents
Professionnel Documents
Culture Documents
SELECT *
FROM Table1
LEFT JOIN Table2
ON Table1.Client = Table2.Client
Table1.Client Table2.Client
A A
B B
C
RIGHT JOIN
Table 1 Table 2
Colonne Client Colonne Client
A A
B B
C D
SELECT *
FROM Table1
RIGHT JOIN Table2
ON Table1.Client = Table2.Client
Table1.Client Table2.Client
A A
B B
D
INNER JOIN
Table 1 Table 2
Colonne Client Colonne Client
A A
B B
C D
SELECT *
FROM Table1
INNER JOIN Table2
ON Table1.Client = Table2.Client
Table1.Client Table2.Client
A A
B B
Table 1
UNION
Table 2
Colonne Client Colonne Client
A A
B B
C D
SELECT *
FROM Table1
UNION
SELECT *
FROM Table2
Client
A
B
C
A
B
D
Table 1
MINUS
Table 2
Colonne Client Colonne Client
A A
B B
C D
SELECT *
FROM Table1
MINUS
SELECT *
FROM Table2
Client
C
Exemple 2
• Imaginons 3 tables :
Période N_Personne Epargne
201512 123456 5000
201601 123456 10000
– Epargne : 201602
201512
123456
456789
10500
0
201601 456789 2500
– PNB: 201512
201601
A1
A1
12000
2000
201512 B1 5000
201601 B1 100
Exemple 2.1
• Si on veut afficher l’épargne et l’encours que
l’on porte par client on doit fusionner les
informations des tables Epargne et Risques
– En joignant les 2 tables sans préciser comment via
le code :
SELECT *
FROM EPARGNE,
RISQUE
Les données n’ont aucun sens sur certaines lignes nous avons l’épargne du
client 123456 qui est associée à l’encours risque du client 456789
On va donc rajouter une condition en indiquant que les N_Personne
doivent être égaux, code ci-dessous :
SELECT *
FROM EPARGNE
LEFT JOIN RISQUE
ON EPARGNE.N_Personne = RISQUE.N_Personne
SELECT *
FROM EPARGNE
LEFT JOIN RISQUE
ON EPARGNE.N_Personne = RISQUE.N_Personne
AND EPARGNE.Période = RISQUE.Période
Les données n’ont aucun sens en effet la table PNB n’a pas la notion de client même en
fusionnant via la période nous ne pourrons pas avoir de résultats cohérent par client