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
Guide de Cyber-résilience pour Microsoft 365
La violation de votre tenant M365 va au-delà d’un simple incident de cybersécurité. Elle peut entraîner une interruption opérationnelle généralisée, des perturbations commerciales et une exposition de vos données sensibles. Découvrez les méthodes et technologies pour évaluer, comparer et renforcer votre posture de sécurité Microsoft 365.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Souveraineté numérique : les décideurs publics veulent prioriser les modèles d’IA souverains
- Dans l’œil du cyber-cyclone : l’excès d’optimisme constitue le risque principal pour la résilience des données
- Les 3 prédictions 2026 pour Java
- Infrastructures IT : 5 leviers concrets pour éviter les impasses technologiques
Articles les + lus
CES 2026 : l’IA physique et la robotique redéfinissent le futur
Les 3 prédictions 2026 pour Java
Semi-conducteurs : comment l’Irlande veut contribuer à atténuer la pénurie mondiale de puces
Face à l’urgence écologique, l’IT doit faire sa révolution
D’ici 2030, jusqu’à 90 % du code pourrait être écrit par l’IA, pour les jeunes développeurs, l’aventure ne fait que commencer
À la une de la chaîne Tech
- CES 2026 : l’IA physique et la robotique redéfinissent le futur
- Les 3 prédictions 2026 pour Java
- Semi-conducteurs : comment l’Irlande veut contribuer à atténuer la pénurie mondiale de puces
- Face à l’urgence écologique, l’IT doit faire sa révolution
- D’ici 2030, jusqu’à 90 % du code pourrait être écrit par l’IA, pour les jeunes développeurs, l’aventure ne fait que commencer
