Résumé: dans ce didacticiel, vous apprendrez à utiliser SQL Server FULL OUTER JOIN
pour interroger les données de deux tables ou plus.
Introduction à la jointure externe complète de SQL Server
Le FULL OUTER JOIN
renvoie un jeu de résultats qui comprend lignes des tables de gauche et de droite. Lorsquaucune ligne correspondante nexiste pour la ligne dans la table de gauche, les colonnes de la table de droite auront des valeurs nulles. De même, lorsquil nexiste aucune ligne correspondante pour la ligne du tableau de droite, la colonne du tableau de gauche aura des valeurs nulles.
Ce qui suit montre la syntaxe du FULL OUTER JOIN
lors de la jonction de deux tables T1
et T2
:
Code language: SQL (Structured Query Language) (sql)
Le mot clé OUTER
est facultatif, vous pouvez donc lignorer comme indiqué dans la requête suivante:
Code language: SQL (Structured Query Language) (sql)
Dans cette syntaxe :
- Tout dabord, spécifiez la table de gauche
T1
dans la clauseFROM
. - Deuxièmement, spécifiez la bonne table
T2
et un prédicat de jointure.
Le diagramme de Venn suivant illustre le FULL OUTER JOIN
de deux ensembles de résultats:
Exemple de jointure externe complète SQL Server
Configurons un exemple de table pour illustrer la jointure externe complète.
Commencez par créer une nouvelle schéma nommé pm
qui signifie gestion de projet.
Code language: SQL (Structured Query Language) (sql)
Ensuite, créez de nouvelles tables nommées projects
et members
dans le schéma pm
:
Supposons que seul chaque membre puisse participer dans un projet et chaque projet a zéro ou plusieurs membres. Si un projet est en phase d’idée, il n’ya donc aucun membre affecté.
Ensuite, insérez quelques lignes dans projects
et members
tables:
Ensuite, interrogez les données des tables projects
et members
:
Code language: SQL (Structured Query Language) (sql)
Code language: SQL (Structured Query Language) (sql)
Enfin, utilisez FULL OUTER JOIN
pour interroger les données des tables projects
et members
:
Voici le résultat:
Dans cet exemple, la requête a renvoyé des membres qui participent à des projets, des membres qui ne participent à aucun projet et des projets qui nont aucun membre.
Pour trouver les membres qui ne participent pas à tout projet et projets w nayant aucun membre, vous ajoutez une clause WHERE
à la requête ci-dessus:
Limage suivante montre la sortie:
Comme indiqué clairement dans le résultat, Jack Daniel
ne participe à aucun projet et Develop Mobile Sales Platform
na aucun membre.
Dans ce didacticiel, vous avez appris à utiliser SQL Server complètement joindre pour interroger les données de deux ou plusieurs tables.