logo

Différence entre la jointure gauche et la jointure droite

MySQL propose principalement deux types de jointures nommées LEFT JOIN et RIGHT JOIN. La principale différence entre ces jointures est la inclusion de lignes sans correspondance . LEFT JOIN inclut tous les enregistrements du côté gauche et les lignes correspondantes de la table de droite, tandis que RIGHT JOIN renvoie toutes les lignes du côté droit et les lignes sans correspondance de la table de gauche. Dans cette section, nous allons connaître les différences courantes entre les jointures GAUCHE et DROITE. Avant d'explorer la comparaison, comprenons d'abord les clauses JOIN, LEFT JOIN et RIGHT JOIN dans MySQL .

Qu'est-ce que la clause JOIN ?

UN rejoindre est utilisé pour interroger les données de plusieurs tables et renvoie le résultat combiné de deux ou plusieurs tables via une condition. La condition dans la clause de jointure indique comment les colonnes correspondent 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 correspondants de la table de droite ou renvoie null si elle ne trouve aucun enregistrement correspondant. Il est également connu sous le nom Jointure externe gauche . Ainsi, Outer est le mot-clé facultatif à utiliser avec Left Join.

Nous pouvons le comprendre avec la représentation visuelle suivante :

Rejoindre à gauche ou à droite

Pour lire plus d'informations sur la jointure GAUCHE, Cliquez ici .

Quelle est la clause RIGHT JOIN ?

La clause Right Join joint deux tables ou plus et renvoie toutes les lignes de la table de droite, ainsi que uniquement les résultats de l'autre table qui remplissent la condition de jointure spécifiée. S'il trouve des enregistrements sans correspondance dans la table de gauche, il renvoie la valeur Null. Il est également connu sous le nom Jointure externe droite . Ainsi, Outer est la clause facultative à utiliser avec Right Join.

Nous pouvons le comprendre avec ce qui suit représentation visuelle .

Rejoindre à gauche ou à droite

Pour lire plus d’informations sur RIGHT JOIN, cliquez ici.

Syntaxe de la clause LEFT JOIN

Voici la syntaxe générale de LEFT JOIN :

 SELECT column_list FROM table_name1 LEFT JOIN table_name2 ON column_name1 = column_name2 WHERE join_condition 

Voici la syntaxe générale de LEFT OUTER JOIN :

 SELECT column_list FROM table_name1 LEFT OUTER JOIN table_name2 ON column_name1 = column_name2 WHERE join_condition 

Syntaxe de la clause RIGHT JOIN

Voici la syntaxe générale de RIGHT JOIN :

 SELECT column_list FROM table_name1 RIGHT JOIN table_name2 ON column_name1 = column_name2 WHERE join_condition 

Voici la syntaxe générale de RIGHT OUTER JOIN :

 SELECT column_list FROM table_name1 RIGHT OUTER JOIN table_name2 ON column_name1 = column_name2 WHERE join_condition 

REJOINDRE À GAUCHE vs REJOINDRE À DROITE

Le tableau comparatif suivant explique rapidement leurs principales différences :

JOINT GAUCHE REJOINDRE À DROITE
Il joint deux tables ou plus, renvoie tous les enregistrements de la table de gauche et les lignes correspondantes de la table de droite. Il est utilisé pour joindre deux tables ou plus, renvoie tous les enregistrements de la table de droite et les lignes correspondantes de la table de gauche.
L'ensemble de résultats contiendra une valeur nulle s'il n'y a pas de ligne correspondante dans la table de droite. L'ensemble de résultats contiendra une valeur nulle s'il n'y a pas de ligne correspondante dans 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 ' ordres ' qui contient les données suivantes :

Tableau : client

Rejoindre à gauche ou à droite

Tableau : commandes

Rejoindre à gauche ou à droite

Exemple de jointure à gauche

L'instruction SQL suivante renvoie les enregistrements correspondants des deux tables à l'aide de la requête LEFT JOIN :

 SELECT cust_id, cust_name, order_num, order_date FROM customer LEFT JOIN orders ON customer.cust_id = orders.order_id WHERE order_date <'2020-04-30'; < pre> <p>After successful execution of the query, we will get the output as follows:</p> <img src="//techcodeview.com/img/mysql-tutorial/37/difference-between-left-join-5.webp" alt="Left Join vs Right Join"> <p> <strong>RIGHT JOIN Example</strong> </p> <p>Following SQL statement returns the matching records from both tables using the RIGHT JOIN query:</p> <pre> SELECT cust_id, cust_name, occupation, order_num, order_date FROM customer RIGHT JOIN orders ON cust_id = order_id ORDER BY order_date; </pre> <p>After successful execution of the query, we will get the output as follows:</p> <img src="//techcodeview.com/img/mysql-tutorial/37/difference-between-left-join-6.webp" alt="Left Join vs Right Join"> <hr></'2020-04-30';>

Après une exécution réussie de la requête, nous obtiendrons le résultat suivant :

Rejoindre à gauche ou à droite