top of page

LEFT JOIN

La commande LEFT OUTER JOIN en SQL est une des requêtes permettant de réaliser une jointure entre deux tables. Les jointures servent à lire simultanément des données issues de deux tables d’une base de données. L’instruction LEFT OUTER JOIN permet de réaliser une jointure externe gauche.


Voici la syntaxe courante :


SELECT * FROM table1 LEFT OUTER JOIN table2 ON table1.column2=table2.column3;


Ou, de manière équivalente :


SELECT * FROM table1 LEFT JOIN table2 ON table1.column2=table2.column3 ;


> Cette instruction permet de lire toutes les lignes de la table 1, en leur juxtaposant les informations des lignes de la table 2 pour lesquelles table1.column2=table2.column3. Si, pour une ligne de la table 1, il n’y a pas de ligne de la table 2 pour lesquelles table1.column2=table2.column3, alors on remplace ces valeurs par la valeur NULL. Les éventuelles lignes de la table 2 qui n'ont pas de lignes dans la table 1 telles que table1.column2=table2.column3, ne sont pas représentées.


Attention : il faut garder à l’esprit que c’est la jointure interne (INNER JOIN) qui sera réalisée automatiquement si on utilise l’instruction JOIN simplement.


Exemple d’utilisation :


Imaginons une base de données ‘gest_fact’, qu’une entreprise a créée pour stocker les données relatives aux factures qu’elle a émises : la liste des produits commercialisés par l’entreprise, la liste des factures émises par l’entreprise et le détail de chaque ligne de facture. ‘Gest_fact’ est constituée de trois tables : ‘produit’, ‘facture’ et ‘ligne_facture’. Le code permettant de faire la jointure externe gauche des tables ‘ligne_facture’ et ‘produit’ est le suivant. Il est important de comprendre que certaines lignes de la table ‘produit’ peuvent ne pas apparaître, s’il n’y a pas de ligne de ‘ligne_facture’ qui les cite.


SELECT * FROM ligne_facture LEFT OUTER JOIN produit ON ligne_facture.nom_produit=produit.nom_produit ;


Voici le début du résultat de l'exécution du code :


_


Nos formations sur https://www.apprendresql.com/ 


Voir autres : ALTER TABLE, CREATE TABLE, DROP TABLE, AND, AS, AUTO_INCREMENT, AVG(), BETWEEN, COUNT(), CROSS JOIN, DELETE, DISTINCT, FOREIGN KEY, FULL JOIN, GROUP BY, HAVING, IN, INNER JOIN, INSERT, INTERSECT, IS NULL, LEFT JOIN, LIKE, MAX(), MERGE, MIN(), NATURAL JOIN, OR, ORDER BY, PRIMARY KEY, RIGHT JOIN, SELECT, SUM(), UNION, UPDATE, WITH ROLLUP, GRANT, REVOKE, BEGIN TRANSACTION, COMMIT, ROLLBACK, SAVEPOINT


bottom of page