MySQL possède principalement deux types de jointures nommées LEFT JOIN et RIGHT JOIN. La principale différence entre ces jointures est l’inclusion des lignes non appariées. La LEFT JOIN inclut tous les enregistrements du côté gauche et les lignes appariées de la table de droite, tandis que la RIGHT JOIN renvoie toutes les lignes du côté droit et les lignes non appariées de la table de gauche. Dans cette section, nous allons connaître les différences les plus courantes entre les jointures GAUCHE et DROITE. Avant d’explorer la comparaison, commençons par comprendre la clause JOIN, LEFT JOIN et RIGHT JOIN dans MySQL.
Qu’est-ce que la clause JOIN ?
Une jointure est utilisée pour interroger les données de plusieurs tables et renvoie le résultat combiné de deux ou plusieurs tables par le biais d’une condition. La condition dans la clause de jointure indique comment les colonnes sont appariées entre les tables spécifiées.
Qu’est-ce que la clause LEFT JOIN ?
La clause Left Join joint deux tables ou plus et renvoie toutes les lignes de la table de gauche et les enregistrements appariés de la table de droite ou renvoie null si elle ne trouve aucun enregistrement correspondant. Elle est également connue sous le nom de Left Outer Join. Ainsi, Outer est le mot-clé facultatif à utiliser avec la jointure gauche.
Nous pouvons la comprendre avec la représentation visuelle suivante:
Pour lire plus d’informations sur la jointure GAUCHE, cliquez ici.
Qu’est-ce que la clause RIGHT JOIN ?
La clause Right Join joint deux tables ou plus et renvoie toutes les lignes de la table de droite, et seulement les résultats de l’autre table qui ont rempli la condition de jointure spécifiée. Si elle trouve des enregistrements non appariés de la table de gauche, elle renvoie la valeur Null. Elle est également connue sous le nom de jointure externe droite. Ainsi, Outer est la clause facultative à utiliser avec la jointure droite.
Nous pouvons la comprendre avec la représentation visuelle suivante.
Pour lire plus d’informations sur la jointure droite, cliquez ici.
Syntaxe de la clause LEFT JOIN
Voici la syntaxe générale de LEFT JOIN:
Voici la syntaxe générale de LEFT OUTER JOIN :
Syntaxe de la clause RIGHT JOIN
Voici la syntaxe générale de RIGHT JOIN:
Voici la syntaxe générale de RIGHT OUTER JOIN:
LEFT JOIN vs. RIGHT JOIN
Le tableau de comparaison suivant explique leurs principales différences de manière rapide:
LEFT JOIN | RIGHT JOIN |
---|---|
Il joint deux ou plusieurs tables, renvoie tous les enregistrements de la table de gauche, et les lignes correspondantes de la table de droite. | Elle joint deux ou plusieurs tables, renvoie tous les enregistrements de la table de droite, et les lignes correspondantes de la table de gauche. |
Le jeu de résultats contiendra une valeur nulle s’il n’y a pas de ligne correspondante sur la table de droite. | Le jeu de résultats contiendra une valeur nulle s’il n’y a pas de ligne correspondante sur la table de gauche. |
Il est également connu sous le nom de LEFT OUTER JOIN. | Il est également appelé RIGHT OUTER JOIN. |
Exemple
Comprenons les différences entre les deux jointures à travers des exemples. Supposons que nous ayons une table nommée « client » et « commandes » qui contient les données suivantes :
Table : client
Table : commandes
LEFT JOIN Exemple
L’instruction SQL suivante renvoie les enregistrements correspondants des deux tables en utilisant la requête LEFT JOIN :
Après une exécution réussie de la requête, nous obtiendrons la sortie suivante :
Jonction droite Exemple
L’instruction SQL suivante renvoie les enregistrements correspondants des deux tables en utilisant la requête JONCTION DROITE :
Après une exécution réussie de la requête, nous obtiendrons la sortie suivante :
.