Voici un post qui explique les différentes types de jointures dans les requêtes sql.
Partons d’une structure de base de données suivante :
Table1
Table2
La jointure INNER JOIN
Elle retourne l’intersection entre ces 2 tables
SELECT Table1.*,Table2.*
FROM Table1
INNER JOIN Table2 ON Table1.ID = Table2.ID
Cette requête renvoie comme résultats
La jointure OUTER JOIN
Il existe différentes méthode des jointures outer join
LEFT OUTER JOIN
Cette jointure retourne tous les enregistrements qui se trouvent dans la table de gauche de la jointure.
Et si l’enregistrement n’est pas présent dans la table de droite, le résultat renvoie NULL pour cette partie.
SELECT Table1.*,Table2.*
FROM Table1
LEFT OUTER JOIN Table2 ON Table1.ID = Table2.ID
Le résultat de cette requête renvoie
RIGHT OUTER JOIN
Cette jointure retourne tous les enregistrements qui se trouvent dans la table de droite de la jointure.
Et si l’enregistrement n’est pas présent dans la table de gauche, le résultat renvoie NULL pour cette partie.
SELECT Table1.*,Table2.*
FROM Table1
RIGHT OUTER JOIN Table2 ON Table1.ID = Table2.ID
Le résultat de cette requête renvoie
FULL OUTER JOIN
Cette jointure retourne tous les enregistrements qui se trouvent dans les 2 tables de la jointure.
Et si un enregistrement n’a pas de correspondance dans l’autre table, le résultat renvoie NULL pour celui ci.
SELECT Table1.*,Table2.*
FROM Table1
FULL OUTER JOIN Table2 ON Table1.ID = Table2.ID
Le résultat de cette requête renvoie

La jointure CROSS JOIN
Cette jointure fait le produit cartésien entre les 2 tables.
Chaque ligne est multipliée avec celles de l’autre table.
SELECT Table1.*,Table2.*
FROM Table1
CROSS JOIN Table2
Voici une partie des résultats de la requête :
Pour plus d’informations:
http://blog.sqlauthority.com/2009/04/13/sql-server-introduction-to-joins-basic-of-joins/