On distingue plusieurs catégories de jointures. Une première distinction peut se faire entre equijoint et non-equijoint. Les equijointures sont probablement le type de jointure le plus courant : ce sont tout simplement des jointures combinant des lignes sur une égalité de colonnes. La jointure Customer et Sale décrite ci-dessus est
Syntaxe de base des jointures
une equijointure. On devine que les non-equijoints
utilisent une relation d’inégalité entre les colonnes.
Commençons par les equijointures, en les divisant en trois catégories
- equijointures internes
- equijointures externes gauches
- equijointures d’exception
Chacune de ces trois catégories se distingue par la manière dont sont traitées
les lignes correspondantes et non correspondantes, comme l’illustre la figure
4.
La figure 5 contient un exemple de jointure externe gauche. Elle est constituée
de toutes les lignes comprises dans une jointure simple plus chaque ligne
non correspondante dans la première table (Customer dans cet exemple). Notons
dans la figure, que pour chacune de ces lignes non correspondantes, SQL donne
la valeur nulle aux colonnes provenant de la seconde table. Alors que la jointure
simple de la figure 3 donne des informations sur chaque client ayant passé une
commande, la jointure externe gauche donne des informations sur tous les clients,
qu’ils aient commandé ou non.
La figure 6 illustre un exemple de jointure d’exception. Une telle jointure ne
comprend que les lignes non correspondantes de la première table. Dans
mon exemple, j’ai créé une liste de tous les clients n’ayant passé aucune commande.
Notons à nouveau que SQL donne la valeur nulle aux colonnes provenant de la seconde
table. Bien que je montre les colonnes OrderID et SaleDate dans cet exemple, il
faut savoir qu’en principe on n’inclut pas les colonnes provenant de la
table de droite d’une jointure d’exception, parce qu’elles seront toutes nulles
par définition.
Pourquoi n’y a-t-il pas de jointure externe droite ? Tout simplement parce qu’on
n’en a pas besoin : pour obtenir la table résultat équivalente, il suffit de transposer
les tables gauche et droite et d’utiliser une jointure externe gauche.
Et qu’en est-il d’une jointure externe complète, où l’on inclurait les
lignes non correspondantes provenant des deux tables ? On peut fort bien
utiliser l’opérateur Union de SQL pour combiner deux ensembles de résultats, comme
l’illustre la figure 7. Ici, l’opération Union combine toutes les lignes Customer
(provenant de la jointure externe gauche) et toutes les lignes Sale non correspondantes
(provenant de la jointure d’exception), aboutissant au résultat souhaité.
Téléchargez cette ressource
Plan de sécurité Microsoft 365
Les attaquants savent comment prendre le contrôle de votre tenant Microsoft 365, et vous, savez-vous comment le reprendre en main ?
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Mythos révèle les limites d’un Zero Trust centré sur le réseau
- Faire évoluer la souveraineté des données du statut d’ambition politique à son application opérationnelle
- Mythos et modèles-frontières : quel avenir pour la cybersécurité en France et en Europe face à l’IA ?
- IA agentique : des investissements massifs freinés par des données insuffisamment préparées
Articles les + lus
Analyse Patch Tuesday Mai 2026
Les coûts cachés des merge requests générées par l’IA
Femmes et métiers de la tech : une attractivité réelle freinée par des stéréotypes persistants
Moderniser le développement logiciel : de la fragmentation à l’intégration
Analyse Patch Tuesday Avril 2026
À la une de la chaîne Tech
- Analyse Patch Tuesday Mai 2026
- Les coûts cachés des merge requests générées par l’IA
- Femmes et métiers de la tech : une attractivité réelle freinée par des stéréotypes persistants
- Moderniser le développement logiciel : de la fragmentation à l’intégration
- Analyse Patch Tuesday Avril 2026
