Vous êtes sur la page 1sur 6

Les différentes

sortes de jointure
Jusqu’ici, pour réaliser une jointure, nous avons, soit utilisé la sous-interrogation (Avec ses limites de
remontée de données limitées à la première table déclarée), soit utilisé la jointure standard de type :

select * from table1,table2 where table1.colonne = table2.colonne


Il existe d’autres façons de formuler les exigences d’une jointure, et c’est ce que nous allons voir ici.

1 INNER JOIN
C’est ici la façon de faire, égale à la jointure que vous connaissez. Il doit y avoir au moins des données
en commun entre les deux tables pour que cela remonte une information.

Imaginons deux tables, Prix et Quantités. Voici leur structure et contenu, très simple :

Remarquons ici que tous les exemples proposés le sont avec SQL Server.

Table des quantités, puis des prix, nous avons la colonne nommée produit de chaque côté :

Voici une représentation ensembliste du « Inner Join » :

Et un exemple de requête, sur les mêmes données :

1
Notez que cette requête est exactement la même, et produit le même résultat que :
select * from prix,quantites where prix.produit = quantites.produit

2 OUTER JOIN
Un ‘OUTER JOIN’ renvoie les lignes qu’un ‘INNER JOIN’ aurait retourné, mais renvoie aussi les lignes pour
lesquelles aucune correspondance n’est trouvée dans l’autre table.

Il y a trois types d’OUTER JOIN :

Left Outer Join (ou Left Join)

Right Outer Join (ou Right Join)

Full Outer Join (ou Full Join)

2.1 LE LEFT JOIN (ou LEFT OUTER JOIN)

Un “left outer join” retourne toutes les données de la Table 1 et les données partagées pour celles qui
ont une correspondance en table 2.

Partant des mêmes données proposées précédemment, voici un exemple d’exécution :

2
2.2 LE RIGHT JOIN (ou RIGHT OUTER JOIN)

Très proche du précédent :

Avec un exemple, partant des mêmes données :

3
2.1 LE FULL JOIN (ou FULL OUTER JOIN)

Enfin le Full Outer Join combine le résultat de jointure de plusieurs tables :

Et l’exemple, toujours sur les mêmes données

4
5

Vous aimerez peut-être aussi