Différence entre INNER JOIN et LEFT JOIN

La différence clé entre INNER JOIN et LEFT JOIN est la suivante: LEFT JOIN renvoie la partie « GAUCHE » c’est à dire que toutes les lignes de la table gauche seront retournées, même s’il n’y a pas de ligne correspondante dans la table droite. Tandis que INNER JOIN renvoie toutes les lignes de deux tables qui remplissent une condition donnée.
 
 

INNER JOIN

Inner JOIN est utilisée pour renvoyer toutes les lignes de deux tables qui remplissent une condition donnée.
 


 

Exemple:

Prenons un exemple d’utilisation de la clause INNER JOIN pour voir comment elle fonctionne. Pour cela nous allons utiliser les tables « Clients » et « Commandes ».
 

 

 
La requête suivante sélectionne toutes les commandes effectuées par les clients:

SELECT Commandes.CommandeID, Clients.Nom
FROM Commandes
INNER JOIN Clients ON Commandes.ClientID = Clients.ClientID;


 
La clause INNER JOIN sélectionne toutes les lignes de deux tables tant qu’il existe une correspondance entre les colonnes. S’il y a des lignes dans la table « Commandes » qui n’ont pas de correspondance dans la table « Clients », ces commandes ne seront pas affichées!
 
MySQL RIGHT JOIN

LEFT JOIN

LEFT JOIN est utilisé pour renvoyer la partie « GAUCHE » c’est à dire que toutes les lignes de la table gauche seront retournées, même s’il n’y a pas de ligne correspondante dans la table droite. Cela pourrait entraîner l’affichage de valeurs NULL dans les colonnes renvoyées par la table droite.
 


 

Exemple:

Prenons un exemples d’utilisation de la clause LEFT JOIN pour voir comment elle fonctionne. Pour cela nous allons utiliser les tables « table1 » et « table2 ».
 

 
La clause LEFT JOIN définit la valeur de chaque colonne de la table droite qui ne correspond pas à la table gauche sur NULL.
 
Implémentation sur MySQL:
 

 
 

 
L’instruction suivante utilise la clause LEFT JOIN pour joindre « table1 » avec « table2 ».

SELECT *
FROM table2
LEFT JOIN table1 USING(Adresse);


Questions techniques sur MYSQL

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *