Ceci est une ancienne révision du document !
Soit deux tables A et B :
Cas | Exemple | Signification |
---|---|---|
INNER JOIN: intersection des A et B (Tous les A et les B qui sont en relation) | Select * FROM A INNER JOIN B on A.bID = B.id; |
LEFT JOIN: tous les A qu'il aient ou non un B correspondant | Select * FROM A LEFT JOIN B on A.bID = B.id; | |
LEFT JOIN exclusif: tous les A qu'il aient QUI n'ont pas un B correspondant | Select * FROM A \\LEFT JOIN B on A.bID = B.id WHERE B.id IS NULL; | |
RIGHT JOIN | Select * FROM A RIGHT JOIN B on A.bID = B.id; | tous les B qu'il aient ou non un A correspondant |
RIGHT JOIN exclusif | Select * FROM A RIGHT JOIN B on A.bID = B.id WHERE A.id is null; | tous les B qu'il aient QUI n'ont pas un A correspondant |
FULL JOIN | ||
FULL JOIN sans intersection |
Illustrations :
http://cartman34.fr/informatique/sgbd/differences-entre-inner-left-right-et-outer-join-en-sql.html
ou