À gauche Rejoignez PostgreSQL

À gauche Rejoignez PostgreSQL
PostgreSQL JOIN est une fonctionnalité qui vous permet de combiner des colonnes à partir d'une seule table avec une ou plusieurs tables en fonction des colonnes communes entre les tables connexes. Il existe de nombreux types de jointures, telles que la jointure intérieure, la jointure extérieure, la jointure croisée et l'auto-jointure. Cet article définira la direction de gauche en deux types:
  • Jointure externe gauche
  • Join intérieure gauche

Nous expliquerons chaque type avec des exemples spécifiques.

Syntaxe

Sélectionnez Table_A.Columna, table_a.colonne, table_b.columna
De table_a
Gauche join table_b
Sur table_a.correspondant_column = table_b.Matching_Column;

Table_a implique le premier tableau, et table_b implique le deuxième tableau. La correspondance_column est la colonne qui est présente dans les deux tables pourrait être avec différents noms de colonne.

  • La syntaxe montre que nous devons spécifier deux tables en utilisant l'instruction SELECT.
  • Deuxièmement, nous montrons la table principale.
  • Troisièmement, nous mentionnons le tableau et le tableau principal a formé une jointure avec.

Pour accomplir la compréhension de la jointure de gauche, nous devons créer deux tables dans PostgreSQL. Les deux tables sont créées en utilisant la commande «Create Table». L'échantillon de déclaration est indiqué ci-dessous. Laissez le nom du tableau «élément»:

>> Créer des éléments de table (ID Integer, Name Varchar (10), Catégorie Varchar (10), Ordre_no Integer, Address Varchar (10), expire_month Varchar (10));

Ajoutez maintenant les valeurs dans le tableau par «Insertion de l'instruction»:

>> Insérer dans les valeurs des articles (1, «poupée», «jouet», 4, «adresse»);

En utilisant cette commande, les valeurs sont entrées dans une seule ligne du tableau.

Maintenant, pour revenir à l'exemple, nous avons deux tables ici, l'un est des «articles», et l'autre est des «ordres». Vous pouvez voir le contenu des tables en utilisant la commande «SELECT»:

Tableau 1-Items:

Tableau 2 Orders:

Exemple 1:
Considérez les deux tables. Ces tables sont créées de telle manière qu'une colonne forme un lien entre ces deux tables. Par exemple, Order_No joue le rôle de l'établissement du lien. La commande suivante utilise la clause d'une jointure de gauche pour rejoindre le tableau «Items» avec «Ordres»:

>> Sélectionnez des éléments.id, nom, commander_id à partir des éléments laissés de joints de joints sur les commandes.order_id = items.ORDRE_NO ORDER BY NOM;

Ici, nous obtenons le tableau résultant car nous avons sélectionné «ID» et «Nom» dans la table des éléments et Order_NO à partir de la table des commandes, afin que ces trois colonnes soient affichées. Lorsqu'une ligne de la table des éléments n'a pas de ligne correspondante avec la table des commandes, les valeurs de la colonne Order_ID de cette ligne sont nuls.

Exemple 2:
Cet exemple ressemble à un précédent mais diffère par une clause «où». Cela aide à trouver les ordres qui ne sont pas présents dans le tableau des ordres. Ceci est accompli en utilisant une déclaration supplémentaire qui montre la colonne vide en comparant les valeurs avec l'espace. Si aucune valeur n'est présente, sélectionnez l'ID et le nom. Cet exemple est lié à la jointure de gauche extérieure. La jointure de gauche extérieure est celle dans laquelle, tout en obtenant la valeur résultante après avoir appliqué des contraintes, tous les éléments appartiennent à une seule table (table gauche). Si un seul élément est apparié, le résultat est loin de la jointure de gauche extérieure:

>> Sélectionnez des éléments.ID, articles. Nom, Order_Id à partir des éléments laissés à la direction des commandes sur les commandes.order_id = items.ORDER_NO où les ordres. ID est un ordre nul par son nom;

L'image montre que les six lignes de la table «Items» sont différentes de la table «Ordres». Ou le tableau "Orders" ne contient pas ces valeurs. C'est pourquoi toute la colonne est vide.

Exemple 3:
Cet exemple montre le lien entre deux tables directement. Comme dans l'instruction SELECT, nous prenons deux colonnes des éléments de table et une colonne des ordres de table. Mais pour ce concept, nous devons mentionner le nom de la colonne avec le nom du tableau par la «méthode de point», qui spécifie la colonne d'un tableau particulier. Ceci est un exemple de jointure à gauche intérieure car certaines parties des deux tables sont présentes dans le tableau résultant:

>> Sélectionnez le nom, la catégorie, les commandes.L'adresse des articles laissés à la main sur les commandes.order_id = items.n ° de commande,

Par conséquent, la table résultante sera la combinaison de colonnes des deux tables. La colonne d'adresse ne contiendra que l'adresse de la table «Ordres» qui correspond à l'adresse de la table «Items».

De même, si nous modifions la déclaration «Dot-Method», cela fait une différence. Dans cet exemple, nous avons remplacé «les commandes.Adresse »avec la colonne d'adresse dans le tableau des éléments« Éléments.adresse":

>> Sélectionnez le nom, la catégorie, les éléments.L'adresse des articles laissés à la main sur les commandes.order_id = items.n ° de commande,

Maintenant, vous pouvez observer que la colonne d'adresse a toutes les lignes remplies de données présentes dans le tableau «Items».

Exemple 4:
Plus de deux colonnes de chaque table sont sélectionnées ici. Parfois, nous devons réduire la redondance pour éviter la duplicité des données tout en combinant deux tables. Cela ne peut être fait qu'en utilisant des contraintes sur plus d'une colonne pour récupérer des données précises et précieuses qui sont cohérentes dans les deux tables. Ainsi, dans cet exemple, nous voulons afficher le nom, l'adresse et l'ordre_no qui n'est présent que dans la table des éléments et non dans la table «Ordres»:

>> Sélectionnez Nom, ORDERS_NO, ORDER_ID, ITEMS.L'adresse des articles laissés à la main sur les commandes.order_id = items.ORDER_NO où les ordres sont nuls;

Pour obtenir la colonne entière vacante, nous avons appliqué la contrainte de null. Dans cet exemple, nous avons à nouveau spécifié l'adresse avec le tableau des éléments pour permettre la discrimination avec la colonne d'adresse. Mais dans l'exemple à venir, nous avons remplacé l'adresse par le «Order_day» du tableau «Ordres». Après avoir remplacé la colonne, le Ordre_id et l'Ordre_day sont des colonnes vacantes dans la table résultante:

>> Sélectionnez Nom, ORDERS_NO, ORDER_ID, ORDERS_DAY à partir des éléments laissés à la main sur les commandes.order_id = items.ORDER_NO où les ordres sont nuls;

Nous n'avons mentionné que l'Ordre_id comme nul. Mais pourquoi le "Order_day" est-il vide?

C'est un facteur évident que si nous n'avons choisi que les lignes d'Ordre_No qui ne sont pas présentes dans le tableau "Ordres", alors comment il pourrait être possible d'avoir ces valeurs "Order_day" dont l'ordre_id n'est pas présent.

Implémentation via pgadmin

Pour implémenter les commandes du côté pgadmin, vous devez fournir le mot de passe au début. Maintenant, accédez à la barre de gauche. Vous découvrirez les bases de données du serveur. Développez la base de données Postgres, car nous avons implémenté nos requêtes ici. Après l'expansion, vous obtiendrez les catalogues, y compris les données de table:

Maintenant, cliquez avec le bouton droit sur la table et sélectionnez l'outil de requête:

Nous prenons le même exemple que celui décrit ci-dessus juste pour créer le pgadmin utilisé. Écrivez la requête suivante dans le SNAP et dans la partie éditeur de requête. Pour exécuter la commande, passez à la barre d'outils de navigation mentionnée ci-dessus. Voici le symbole comme le symbole du jeu en musique. Sélectionnez ceci et la requête sera exécutée. Il est montré dans la sortie des données:

Conclusion

La jointure postgresql combine des colonnes de différentes tables avec des colonnes similaires. En particulier, la jointure de gauche combine la table sur le côté gauche. Cela signifie que la bonne table est mentionnée d'abord dans la commande puis, l'autre. Toutes les conditions sont appliquées sur la jointure de gauche soit dans la jointure intérieure ou dans le cas de la jointure extérieure. Nous espérons que vous avez trouvé cet article utile pour utiliser la gauche jointure postgresql. Veuillez consulter les autres articles pour plus d'informations.