Le LEFT JOIN de PostgreSQL retourne toutes les lignes de la table du côté gauche de la jointure et les lignes correspondantes pour la table du côté droit de la jointure. Les lignes pour lesquelles il n’y a pas de ligne correspondante du côté droit, le jeu de résultats contiendra null. LEFT JOIN est également connu sous le nom de LEFT OUTER JOIN.
Syntax:SELECT table1.column1, table1.column2, table2.column1, ....FROM table1 LEFT JOIN table2ON table1.matching_column = table2.matching_column;table1: First table.table2: Second tablematching_column: Column common to both the tables.
Analysons la syntaxe ci-dessus :
- Premièrement, en utilisant l’instruction SELECT, nous spécifions les tables à partir desquelles nous voulons que les données soient sélectionnées.
- Deuxièmement, nous spécifions la table principale.
- Troisièmement, nous spécifions la table à laquelle la table principale se joint.
Le diagramme de Venn ci-dessous illustre le fonctionnement de la clause LEFT JOIN de PostgreSQL :
Pour les besoins de cet article, nous utiliserons l’exemple de base de données de location de DVD, qui est expliqué ici et peut être téléchargé en cliquant sur ce lien dans nos exemples.
Maintenant, examinons quelques exemples.
Exemple 1:
Ici nous allons utiliser la clause LEFT JOIN pour joindre la table « film » à la table « inventaire ».
SELECT film.film_id, film.title, inventory_idFROM filmLEFT JOIN inventory ON inventory.film_id = film.film_id;
Sortie:
Exemple 2 :
Ici nous allons utiliser la clause LEFT JOIN pour joindre la table « film » à la table « inventaire » et utiliser la clause WHERE pour filtrer les films qui ne sont pas dans l’offre d’inventaire.
SELECT film.film_id, film.title, inventory_idFROM filmLEFT JOIN inventory ON inventory.film_id = film.film_idWHERE inventory.film_id IS NULL;
Sortie: