PostgreSQL Types de jointures : interne, externe, gauche, droite
⚡ Résumé intelligent
PostgreSQL Les jointures permettent de récupérer et de combiner des lignes provenant de deux tables ou plus à l'aide d'une clé partagée, et comprennent des jointures internes telles que theta, EQUI et natural, ainsi que des jointures externes couvrant les résultats gauche, droit et complets.

Que sont les jointures PostgreSQL?
PostgreSQL Joint Les jointures permettent d'extraire des données de plusieurs tables. Elles permettent de combiner les instructions SELECT et JOIN en une seule. Une condition JOIN est ajoutée à l'instruction, et toutes les lignes qui la satisfont sont renvoyées. Les valeurs des différentes tables sont combinées en fonction de colonnes communes. Cette colonne commune est généralement une clé primaire de la première table et une clé étrangère de la seconde.
PostgreSQL Types de jointure
Il existe deux types de jointures dans PostgreSQL:
- Jointures intérieures
- Jointures externes
PostgreSQL Jointure interne
Il existe 3 types de jointures internes dans PostgreSQL:
- Rejoindre Theta
- Jointure naturelle
- Rejoindre EQUI
Rejoindre Thêta
Une jointure thêta permet de joindre deux tables en fonction de la condition représentée par thêta. Les jointures thêta peuvent fonctionner avec tous les opérateurs de comparaison. Dans la plupart des cas, la jointure thêta est appelée jointure interne.
La jointure thêta est le type de JOIN le plus basique. Il renverra toutes les lignes des tables où la condition JOIN est satisfaite.
syntaxe:
SELECT columns FROM table-1 INNER JOIN table-2 ON table-1.column = table-2.column;
Considérez les tables suivantes de la base de données Demo :
Livre:
Le prix :
Nous voulons voir le nom de chaque livre et le prix correspondant. Nous pouvons exécuter la commande suivante :
SELECT Book.name, Price.price FROM Book INNER JOIN Price ON Book.id = Price.id;
Cela renverra ce qui suit :
Seules 3 lignes satisfaisaient à la condition de jointure.
Rejoindre ÉQUI
La jointure EQUI nous offre un moyen de joindre deux tables basées sur la relation clé primaire/clé étrangère. Par exemple:
SELECT * FROM Book JOIN Price ON Book.id = Price.id;
Cela renverra ce qui suit :
Les enregistrements ont été renvoyés par les deux tables en fonction des colonnes communes, c'est-à-dire la colonne id.
Jointure naturelle
Ce type de jointure nous offre une autre façon d’écrire une jointure EQUI. Nous pouvons améliorer notre exemple précédent en ajoutant le mot-clé NATURAL comme indiqué ci-dessous :
SELECT * FROM Book NATURAL JOIN Price;
Cela renverra ce qui suit :
Une seule colonne id a été renvoyée. Le NATURAL JOIN a pu constater que la colonne id est commune dans les deux tables. Un seul a été restitué.
PostgreSQL Jointure externe
Il existe 3 types de jointures externes dans PostgreSQL:
- Jointure externe gauche
- Jointure externe droite
- Jointure externe complète
PostgreSQL Jointure externe gauche
Le LEFT OUTER JOIN renverra toutes les lignes du tableau de gauche et uniquement les lignes du tableau de droite où la condition de jointure a été satisfaite.
syntaxe:
SELECT columns FROM table-1 LEFT OUTER JOIN table-2 ON table-1.column = table-2.column;
Il faut voir le nom de chaque livre et le prix correspondant. Nous pouvons exécuter la commande suivante :
SELECT Book.name, Price.price FROM Book LEFT JOIN Price ON Book.id = Price.id;
Cela renvoie les éléments suivants :
Les 4 lignes de la table Book ont été renvoyées. Seules 3 lignes de la table Price remplissaient la condition de jointure. C'est pourquoi ils ont été restitués. Le dernier livre n'a pas de valeur de prix correspondante.
PostgreSQL Jointure externe droite
Le RIGHT OUTER JOIN renvoie toutes les lignes du tableau de droite et les lignes du tableau de gauche où la condition de jointure a été satisfaite.
syntaxe:
SELECT columns FROM table-1 RIGHT OUTER JOIN table-2 ON table-1.column = table-2.column;
Par exemple :
SELECT Book.name, Price.price FROM Book RIGHT JOIN Price ON Book.id = Price.id;
Cela renvoie les éléments suivants :
Toutes les lignes de la table Price ont été retournées. Seules les lignes de la table Book correspondant à la condition de jointure ont été retournées. La troisième ligne ne contient aucune valeur pour le champ name, car aucune correspondance n'a été trouvée.
Participation extérieure complète PostgreSQL
Ce type de JOIN renverra toutes les lignes du tableau de gauche et toutes les lignes du tableau de droite avec des valeurs nulles lorsque la condition de jointure n'est pas satisfaite.
syntaxe:
SELECT columns FROM table-1 FULL OUTER JOIN table-2 ON table-1.column = table-2.column;
Par exemple :
SELECT Book.name, Price.price FROM Book FULL OUTER JOIN Price ON Book.id = Price.id;
Cela renvoie les éléments suivants :
Toutes les lignes de toutes les tables ont été renvoyées, avec des valeurs nulles là où aucune correspondance n'a été trouvée.
Utiliser pgAdmin
Les tâches ci-dessus peuvent être réalisées dans pgAdmin comme suit. Les sections suivantes détaillent chaque type de jointure étape par étape.
Jointure interne pgAdmin
Les étapes ci-dessous montrent comment exécuter chaque variante de jointure interne dans pgAdmin.
Comment utiliser Theta Join PostgreSQL en utilisant pgAdmin
Voici les étapes à suivre pour utiliser Theta Join. PostgreSQL en utilisant pgAdmin :
Étape 1) Connectez-vous à votre compte pgAdmin
Ouvrez pgAdmin et connectez-vous en utilisant vos informations d'identification
Étape 2) Créer une base de données de démonstration
- Dans la barre de navigation à gauche, cliquez sur Bases de données.
- Cliquez sur Démo.
Étape 3) Tapez la requête
Tapez la requête ci-dessous dans l'éditeur de requête :
SELECT Book.name, Price.price FROM Book INNER JOIN Price ON Book.id = Price.id;
Étape 4) Exécutez la requête
Cliquez sur le bouton Exécuter
Il devrait renvoyer ce qui suit :
Rejoindre ÉQUI
Étape 1) Connectez-vous à votre compte pgAdmin.
Étape 2)
- Dans la barre de navigation à gauche, cliquez sur Bases de données.
- Cliquez sur Démo.
Étape 3) Tapez la requête dans l'éditeur de requêtes :
SELECT * FROM Book JOIN Price ON Book.id = Price.id;
Étape 4) Cliquez sur le bouton Exécuter.
Il devrait renvoyer ce qui suit :
Jointure naturelle
Étape 1) Connectez-vous à votre compte pgAdmin.
Étape 2)
- Dans la barre de navigation à gauche, cliquez sur Bases de données.
- Cliquez sur Démo.
Étape 3) Tapez la requête dans l'éditeur de requêtes :
SELECT * FROM Book NATURAL JOIN Price;
Étape 4) Cliquez sur le bouton Exécuter.
Il devrait renvoyer ce qui suit :
pgAdmin Jointure interne simple
Étape 1) Connectez-vous à votre compte pgAdmin.
Étape 2)
- Dans la barre de navigation à gauche, cliquez sur Bases de données.
- Cliquez sur Démo.
Étape 3) Tapez la requête dans l'éditeur de requêtes :
SELECT Book.name, Price.price FROM Book INNER JOIN Price ON Book.id = Price.id;
Étape 4) Cliquez sur le bouton Exécuter.
Il devrait renvoyer ce qui suit :
Rejointure externe pgAdmin
Ensuite, exécutez les trois variantes de jointure externe dans pgAdmin en suivant les étapes ci-dessous.
Jointure externe gauche
Étape 1) Connectez-vous à votre compte pgAdmin.
Étape 2)
- Dans la barre de navigation à gauche, cliquez sur Bases de données.
- Cliquez sur Démo.
Étape 3) Tapez la requête dans l'éditeur de requêtes :
SELECT Book.name, Price.price FROM Book LEFT JOIN Price ON Book.id = Price.id;
Étape 4) Cliquez sur le bouton Exécuter.
Il devrait renvoyer ce qui suit :
Jointure externe droite
Étape 1) Connectez-vous à votre compte pgAdmin.
Étape 2)
- Dans la barre de navigation à gauche, cliquez sur Bases de données.
- Cliquez sur Démo.
Étape 3) Tapez la requête dans l'éditeur de requêtes :
SELECT Book.name, Price.price FROM Book RIGHT JOIN Price ON Book.id = Price.id;
Étape 4) Cliquez sur le bouton Exécuter.
Il devrait renvoyer ce qui suit :
Jointure externe complète
Étape 1) Connectez-vous à votre compte pgAdmin.
Étape 2)
- Dans la barre de navigation à gauche, cliquez sur Bases de données.
- Cliquez sur Démo.
Étape 3) Tapez la requête dans l'éditeur de requêtes :
SELECT Book.name, Price.price FROM Book FULL OUTER JOIN Price ON Book.id = Price.id;
Étape 4) Cliquez sur le bouton Exécuter.
Il devrait renvoyer ce qui suit :
Téléchargez la base de données utilisée dans ce tutoriel





























