PostgreSQL Union, Union TOUS avec des exemples
Qu'est-ce que le PostgreSQL Syndicat?
Le PostgreSQL L'opรฉrateur UNION est utilisรฉ pour combiner les ensembles de rรฉsultats de plusieurs instructions SELECT en un seul ensemble de rรฉsultats. Toutes les lignes en double des rรฉsultats des instructions SELECT sont รฉliminรฉes. L'opรฉrateur UNION fonctionne dans deux conditions :
- Les requรชtes SELECT DOIVENT renvoyer un nombre similaire de requรชtes.
- Les types de donnรฉes de toutes les colonnes correspondantes doivent รชtre compatibles.
L'opรฉrateur UNION est normalement utilisรฉ pour combiner les donnรฉes de tables associรฉes qui n'ont pas รฉtรฉ parfaitement normalisรฉes.
Syntaxe
SELECT expression_1, expression_2, ... expression_n FROM tables [WHERE condition(s)] UNION SELECT expression_1, expression_2, ... expression_n FROM tables [WHERE condition(s)];
Voici une explication des paramรจtres ci-dessus :
Les expression_1, expression_2,โฆ expression_n sont les calculs ou colonnes que vous devez rรฉcupรฉrer.
Les tables sont les tables ร partir desquelles vous devez rรฉcupรฉrer des enregistrements.
La ou les conditions WHERE sont les conditions qui doivent รชtre remplies pour que les enregistrements soient rรฉcupรฉrรฉs.
Remarque : puisque l'opรฉrateur UNION ne renvoie pas de doublons, l'utilisation de UNION DISTINCT n'aura aucun impact sur les rรฉsultats.
PostgreSQL syndicat
L'opรฉrateur UNION supprime les doublons. Dรฉmontrons-le.
Nous avons une base de donnรฉes nommรฉe Demo avec les tables suivantes :
Livre:
Le prix :
Exรฉcutons la commande suivante :
SELECT id FROM Book UNION SELECT id FROM Price;
La commande renverra ce qui suit :
La colonne id apparaรฎt dans les tableaux Livre et Prix. Cependant, il nโapparaรฎt quโune seule fois dans le rรฉsultat. La raison en est que PostgreSQL L'opรฉrateur UNION ne renvoie pas de doublons.
PostgreSQL Union tout
Cet opรฉrateur combine les jeux de rรฉsultats de plusieurs instructions SELECT sans supprimer les doublons. L'opรฉrateur exige que chaque instruction SELECT ait un nombre similaire de champs dans des ensembles de rรฉsultats de types de donnรฉes similaires.
syntaxe:
SELECT expression_1, expression_2, ... expression_n FROM tables [WHERE condition(s)] UNION ALL SELECT expression_1, expression_2, ... expression_n FROM tables [WHERE condition(s)];
Voici une explication des paramรจtres ci-dessus :
Les expression_1, expression_2,โฆ expression_n sont les calculs ou colonnes que vous devez rรฉcupรฉrer.
Les tables sont les tables ร partir desquelles vous devez rรฉcupรฉrer des enregistrements.
La ou les conditions WHERE sont les conditions qui doivent รชtre remplies pour que les enregistrements soient rรฉcupรฉrรฉs.
Remarque : Les deux expressions doivent avoir un nombre รฉgal d'expressions.
Nous utiliserons les tableaux suivants :
Livre:
Le prix :
Exรฉcutez la commande suivante:
SELECT id FROM Book UNION ALL SELECT id FROM price;
Il devrait renvoyer ce qui suit :
Les doublons n'ont pas รฉtรฉ supprimรฉs.
COMMANDร PAR
Le PostgreSQL L'opรฉrateur UNION peut รชtre utilisรฉ avec la clause ORDER BY pour classer les rรฉsultats de la requรชte. Pour illustrer cela, nous utiliserons les tables suivantes :
Le prix :
Prix2 :
Voici la commande qui montre comment utiliser l'opรฉrateur UNION avec la clause ORDER BY :
SELECT * FROM Price UNION SELECT * FROM Price2 ORDER BY price;
La commande renverra ce qui suit :
Les enregistrements ont รฉtรฉ classรฉs par colonne de prix. La clause classe les enregistrements par ordre croissant par dรฉfaut. Pour les classer par ordre dรฉcroissant, ajoutez la clause DESC comme indiquรฉ ci-dessous :
SELECT * FROM Price UNION SELECT * FROM Price2 ORDER BY price DESC;
La commande renverra ce qui suit :
Les enregistrements ont รฉtรฉ classรฉs en fonction de la colonne de prix par ordre dรฉcroissant.
Quand utiliser Union et Quand utiliser Union all ?
Utilisez l'opรฉrateur UNION lorsque vous disposez de plusieurs tables avec une structure similaire mais divisรฉes pour une raison. C'est bien lorsque vous devez supprimer/รฉliminer les enregistrements en double.
Utilisez l'opรฉrateur UNION ALL lorsque vous n'avez pas besoin de supprimer/รฉliminer les enregistrements en double.
Utiliser pgAdmin
Voyons maintenant comment les trois actions ont รฉtรฉ effectuรฉes ร l'aide de pgAdmin.
Comment utiliser PostgreSQL Union utilisant pgAdmin
Voici le processus รฉtape par รฉtape sur la faรงon d'utiliser PostgreSQL Union utilisant pgAdmin
Pour accomplir la mรชme chose via pgAdmin, procรฉdez comme suit :
รtape 1) Se connecter
Connectez-vous ร votre compte pgAdmin.
รtape 2) Cliquez sur Bases de donnรฉes
- 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 dans l'รฉditeur de requรชtes :
SELECT * FROM Price UNION SELECT * FROM Price2 ORDER BY price DESC;
รtape 4) Cliquez sur le bouton Exรฉcuter.
Ensuite, cliquez sur le bouton Exรฉcuter. Comme le montre l'image ci-dessous.
Il devrait renvoyer ce qui suit :
Union tout
รtape 1) Connectez-vous ร votre compte pgAdmin.
รtape 2)
- Dans la barre de navigation de gauche, cliquez sur Bases de donnรฉes.
- Cliquez sur Dรฉmo.
รtape 3) Tapez la requรชte dans l'รฉditeur de requรชtes :
SELECT id FROM Book UNION ALL SELECT id FROM price;
รtape 4) Cliquez sur le bouton Exรฉcuter.
Il devrait renvoyer ce qui suit :
COMMANDร PAR
L'opรฉrateur UNION ALL peut รชtre combinรฉ avec la clause ORDER BY pour trier les rรฉsultats dans le jeu de rรฉsultats. Par exemple:
SELECT id FROM Book UNION ALL SELECT id FROM price ORDER BY id;
La commande renverra ce qui suit :
Les rรฉsultats ont รฉtรฉ ordonnรฉs.
Rรฉsumรฉ
- Le PostgreSQL L'opรฉrateur UNION combine les rรฉsultats de plusieurs Instruction SELECT en un seul ensemble de rรฉsultats.
- L'opรฉrateur UNION ne renvoie pas d'enregistrements en double.
- Pour trier les rรฉsultats, combinez-le avec la clause ORDER BY.
- L'opรฉrateur UNION ALL combine les rรฉsultats de plusieurs instructions SELECT en un seul jeu de rรฉsultats.
- L'opรฉrateur UNION ALL ne supprime pas les doublons.
Tรฉlรฉchargez la base de donnรฉes utilisรฉe dans ce tutoriel

















