Différence entre INNER JOIN et LEFT JOIN

image_pdfimage_print

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 JOINMySQL RIGHT JOINRIGHT JOIN est utilisé pour renvoyer les données de plusieurs tables. En particulier, la partie « DROITE » signifie que toutes les lignes de la table droite…Lire plus

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 MYSQLQuestions techniques sur MYSQL – Partie 1Nous avons divisé cette collection de questions techniques sur MYSQL sous sept chapitres là, c’est la premiere, puis vous trouverez la deuxième partie, la troisième…Lire plus

Partagez cet article

Laisser un commentaire

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