top of page

FULL JOIN

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


Voici la syntaxe courante :


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


Ou, de manière équivalente :


SELECT * FROM table1 FULL 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. De même, si pour une ligne de la table 1, il n’y a pas de lignes de la table 2 pour lesquelles table1.column2=table2.column3, alors les valeurs sont remplacées par NULL. On affiche donc bien toutes les informations de chacune des tables.


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 des tables ‘ligne_facture’ et ‘produit’ est le suivant.


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