top of page

RIGHT JOIN

La commande RIGHT 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 RIGHT OUTER JOIN permet de réaliser une jointure externe droite.


Voici la syntaxe courante :


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


Ou, de manière équivalente :


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


> Cette instruction permet de lire toutes les lignes de la table 2, en leur juxtaposant les informations des lignes de la table 1 pour lesquelles table1.column2=table2.column3. Si, pour une ligne de la table 2, il n’y a pas de ligne de la table 1 pour lesquelles table1.column2=table2.column3, alors on remplace ces valeurs par la valeur NULL. Les éventuelles lignes de la table 1 qui n'ont pas de lignes dans la table 2 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 droite des tables ‘ligne_facture’ et ‘produit’ est le suivant. Il est important de comprendre que certaines lignes de la table ‘ligne_facture peuvent ne pas apparaître, s’il n’y a pas de ligne de ‘produit’ qui leur correspond.


SELECT * FROM ligne_facture  RIGHT 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