Jointure externe MySQL
Jointure externe MySQL
-
Objectifs
- Découvrez l’instructions MySQL
left join
etright join
avec des exemples de syntaxe et de programmation -
Présentation
- Il existe deux types de jointures externes, les
LEFT OUTER JOIN
etRIGHT OUTER JOIN
, également appelésLEFT JOIN
etRIGHT JOIN
respectivement. - Une jointure externe inclura des lignes qui n’ont pas de valeur de colonne commune dans chaque table, mais cela dépend de la façon dont la requête est structurée.
-
MySQL LEFT JOIN
- La jointure gauche dans MySQL est utilisée pour interroger les enregistrements de plusieurs tables.
- Cette clause est similaire à la clause
Inner Join
qui peut être utilisée avec une instructionSELECT
immédiatement après le mot cléFROM
. - Le mot clé MySQL
LEFT JOIN
(ou parfois appeléLEFT OUTER JOIN
) est utilisé pour combiner les valeurs des colonnes de deux tables en fonction de la correspondance entre les colonnes. - Dans le langage SQL la commande
LEFT JOIN
, est un type de jointure commune pour lier plusieurs tables entre-elles dans une même requête. Cette commande retourne tous les enregistrements de la table première table, celle de gauche (left), avec la correspondance dans la deuxième table si la condition est respectée. En d’autres termes, ce type de jointure permet de retourner tous les enregistrements d’une table avec les données liées d’une autre table si elles existent. - S’il ne trouve aucun enregistrement de correspondance dans la table de droite, renvoie null.
- La représentation graphique de
LEFT JOIN
est donnée ci-contre. - Le mot clé
LEFT JOIN
renvoie tous les enregistrements de la table de gauche (A) et les enregistrements correspondants (le cas échéant) de la table de droite (B). - Le mot clé
LEFT JOIN
renvoie tous les enregistrements de la table de gauche (A), même s’il n’y a pas de correspondance dans la table de droite (B). -
Syntaxe LEFT JOIN
-
Exemple
- Considérez les tables de base de données appelées Employee et Contact_Info avec les enregistrements suivants :
- Pour joindre à gauche les tables Employee et Contact_Info en fonction de la colonne correspondante EmpID , la requête est donnée ci-dessous. Cela récupérera les colonnes Nom et Âge de la table Employé et la colonne Adresse de la table Contact_Info .
-
Jointures sur plus de deux tables
- L’exemple précédent montre comment faire une jointure avec
LEFT JOIN
entre deux tables. Il se peut que vous ayez besoin de faire une jointure entre plus de deux tables. La syntaxe est la suivante pour la commandeLEFT JOIN
. Cette syntaxe peut être répété autant de fois que nécessaire. -
Application
- Avec la base vue dans la leçon (Les jointures en MySQL).
- 1- Affichez la liste des pays et les fleuves qui les traversent classés par ordre alphabétique.
SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON table1.column_name = table2.column_name;
SELECT Employee.Name, Employee.Age, Contact_Info.Address
FROM Employee
LEFT JOIN Contact_Info
ON Employee.EmpID = Contact_Info.EmpID;
SELECT *
FROM table_1
LEFT JOIN table_2 ON table_1.une_colonne = table_2.autre_colonne
LEFT JOIN table_3 ON table_1.une_colonne = table_3.autre_colonne;
SELECT nomPays, nomFleuve
FROM pays
LEFT JOIN traverser ON traverser.numPays = pays.numPays
LEFT JOIN fleuve ON traverser.numFleuve= fleuve.numFleuve
ORDER BY nomPays