Jointure externe MySQL

Jointure externe MySQL

  1. Objectifs

    • Découvrez l’instructions MySQL left join et right join avec des exemples de syntaxe et de programmation
  2. Présentation

    • Il existe deux types de jointures externes, les LEFT OUTER JOIN et RIGHT OUTER JOIN, également appelés LEFT JOIN et RIGHT 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.



  3. 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 instruction SELECT 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
      • SELECT column_name(s)
        FROM table1
        LEFT JOIN table2
        ON table1.column_name = table2.column_name;
    • Exemple
      • Considérez les tables de base de données appelées Employee et Contact_Info avec les enregistrements suivants :
      • Jointure externe MySQL

      • 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 .
        • SELECT Employee.Name, Employee.Age, Contact_Info.Address 
          FROM Employee
          LEFT JOIN Contact_Info
          ON Employee.EmpID = Contact_Info.EmpID;

    • 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 commande LEFT JOIN. Cette syntaxe peut être répété autant de fois que nécessaire.
      • 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;
  4. 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 nomPays, nomFleuve
          FROM pays
              LEFT JOIN  traverser ON traverser.numPays = pays.numPays
              LEFT JOIN fleuve ON traverser.numFleuve= fleuve.numFleuve
          ORDER BY nomPays

          Jointure externe MySQL