Combine les enregistrements de la table source quand elle est utilisée dans une clause FROM.
Syntaxe
FROM table1 [ LEFT | RIGHT ] JOIN table2
ON table1.field1compopr table2.field2Les opérations LEFT JOIN (jointure gauche) et RIGHT JOIN (jointure droite) comprennent les parties suivantes :
Partie |
Description |
table1, table2 |
Nom des tables dont les enregistrements sont combinés. |
champ1, champ2 |
Noms des champs joints. Les champs doivent avoir le même type de données et contenir des données de nature identique, mais leurs noms doivent être différents. |
oprcomp |
Tout opérateur de comparaison relationnel tel que : "=," "<," ">," "<=," ">=," ou "<>." |
Remarques
Utilisez une opération de jointure gauche pour créer une jointure externe gauche. Les jointures externes gauches incluent tous les enregistrements de la première des deux tables (à gauche), même s’il n’existe pas de valeurs correspondantes pour les enregistrements de la deuxième table (à droite).
Utilisez une opération de jointure droite pour créer une jointure externe droite. Les jointures externes droites incluent tous les enregistrements de la deuxième des deux tables (à droite), même s’il n’existe pas de valeurs correspondantes pour les enregistrements de la première table (à droite).
Par exemple, vous pouvez utiliser une jointure gauche avec les tables Departments (à gauche) et Employees (à droite) pour sélectionner tous les départements, y compris ceux auxquels aucun employé n’est assigné. Pour sélectionner tous les employés, y compris ceux qui ne sont affectés à aucun département, vous devez utiliser une jointure droite.
L’exemple suivant montre comment joindre les tables Categories (Catégories) et Products (Produits) sur le champ CategoryID. La requête produit la liste de toutes les catégories, dont celles qui ne contiennent aucun produit :
SELECT CategoryName, ProductName FROM Categories LEFT JOIN Products ON Categories.CategoryID = Products.CategoryID;
Dans cet exemple, CategoryID est le champ joint, mais il n’est pas inclus dans les résultats de la requête, car il n’est pas inclus dans l’instruction SELECT. Pour inclure le champ joint, entrez son nom dans l’instruction SELECT, dans ce cas, Categories.CategoryID.
Pour créer une requête incluant uniquement les enregistrements dans lesquels les données des champs joints sont identiques, utilisez une opération de jointure interne.
-
Une jointure gauche (LEFT JOIN) ou droite (RIGHT JOIN) peut être imbriquée dans une jointure interne, mais une jointure interne ne peut pas être imbriquée dans une jointure gauche ou droite. Voyez la discussion relative à l’imbrication dans la rubrique Jointure interne pour voir comment imbriquer des jointures dans d’autres jointures.
-
Vous pouvez lier plusieurs clauses ON. Voyez la discussion relative à la liaison de clause dans la rubrique Jointure interne pour voir comment procéder
Si vous essayez de joindre des champs contenant des données de type Mémo ou Objet OLE, une erreur se produit.