Partager via


Créer des jointures externes (Visual Database Tools)

s’applique à : SQL Server

Par défaut, le concepteur de requêtes et de vues crée 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 renvoient toutes les lignes d'au moins une des tables ou vues mentionnées dans la clause FROM, tant que ces lignes respectent les conditions de recherche WHERE ou HAVING, le cas échéant. 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 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.

Pour créer une jointure externe

  1. Créez la jointure, automatiquement ou manuellement. Pour plus d’informations, consultez Joindre automatiquement des tables (Visual Database Tools) ou joindre manuellement des tables (Visual Database Tools).

  2. 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 deuxième 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 table employee qui n’ont pas de lignes correspondantes dans la table jobs :

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)  

Voir aussi

Requête avec jointures (Visual Database Tools)