Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
Par défaut, les outils de concepteur de requêtes et de vues (Visual Database Tools) créent une jointure interne entre les tables. Les jointures internes éliminent les lignes qui ne correspondent pas à une ligne de l’autre table. Toutefois, les jointures externes retournent toutes les lignes d’au moins une des tables ou vues mentionnées dans la clause FROM, tant que ces lignes remplissent les conditions de recherche WHERE ou HAVING. Si vous souhaitez inclure des lignes de données dans le jeu de résultats qui n’ont pas de correspondance dans la table jointe, vous pouvez créer une jointure externe.
Lorsque vous créez une jointure externe, l’ordre dans lequel les tables apparaissent dans l’instruction SQL (comme indiqué dans le volet SQL) est significatif. La première table que vous ajoutez devient la table « gauche » et la deuxième table devient la table « droite ». (L’ordre réel dans lequel les tables apparaissent dans le volet Diagramme (Visual Database Tools) n’est pas significatif.) Lorsque vous spécifiez une jointure externe gauche ou droite, vous faites référence à l’ordre dans lequel les tables ont été ajoutées à la requête et à l’ordre dans lequel elles apparaissent dans l’instruction SQL dans le volet SQL (Visual Database Tools).
Créer une jointure externe
Créez la jointure, automatiquement ou manuellement. Pour plus d’informations, consultez Les tables de jointure automatiquement (Visual Database Tools) ou les tables de jointure manuellement (Visual Database Tools).
Sélectionnez la ligne de jointure dans le volet Diagramme, puis, dans le menu Concepteur de requêtes, choisissez Sélectionner toutes les lignes de <nom de table>, en sélectionnant la commande qui inclut la table dont vous souhaitez inclure des lignes supplémentaires.
- Choisissez la première table pour créer une jointure externe gauche.
- Choisissez la seconde table pour créer une jointure externe droite.
- Choisissez les deux tables pour créer une jointure externe complète.
Lorsque vous spécifiez une jointure externe, le Concepteur de requêtes et de vues modifie la ligne de jointure pour indiquer une jointure externe.
En outre, le Concepteur de requêtes et de vues modifie l’instruction SQL dans le volet SQL pour refléter la modification du type de jointure, comme indiqué dans l’instruction suivante :
SELECT employee.job_id,
employee.emp_id,
employee.fname,
employee.minit,
jobs.job_desc
FROM employee
LEFT OUTER JOIN jobs
ON employee.job_id = jobs.job_id;
Étant donné qu’une jointure externe inclut des lignes sans correspondance, vous pouvez l’utiliser pour rechercher des lignes qui violent les contraintes de clé étrangère. Pour ce faire, vous créez une jointure externe, puis ajoutez une condition de recherche pour rechercher les lignes dans lesquelles la colonne clé primaire de la table la plus à droite est Null. Par exemple, la jointure externe suivante recherche des lignes dans la employee table qui n’ont pas de lignes correspondantes dans la jobs table :
SELECT employee.emp_id,
employee.job_id
FROM employee
LEFT OUTER JOIN jobs
ON employee.job_id = jobs.job_id
WHERE (jobs.job_id IS NULL);