> Tech > Syntaxe de base des jointures

Syntaxe de base des jointures

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

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

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

Rapport mondial 2025 sur la réponse à incident

Rapport mondial 2025 sur la réponse à incident

Dans ce nouveau rapport, les experts de Palo Alto Networks, Unit 42 livrent la synthèse des attaques ayant le plus impacté l'activité des entreprises au niveau mondial. Quel est visage actuel de la réponse aux incidents ? Quelles sont les tendances majeures qui redessinent le champ des menaces ? Quels sont les défis auxquels doivent faire face les entreprises ? Découvrez les top priorités des équipes de sécurité en 2025.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010