PostgreSQL Union, Union TOUS avec des exemples
โก Rรฉsumรฉ intelligent
PostgreSQL UNION combine les rรฉsultats de deux ou plusieurs instructions SELECT en un seul ensemble de rรฉsultats et supprime les lignes en double, tandis que UNION ALL conserve chaque ligne, offrant une option plus rapide lorsque les doublons n'ont pas d'importance.

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 le mรชme nombre de colonnes.
- 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.
ร noter: L'opรฉrateur UNION ne renvoyant 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, de la mรชme maniรจre que SรLECTIONNER DISTINCT Oui. Prenons un exemple. 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.
ร noter: Les deux instructions SELECT doivent comporter 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 avez plusieurs tables de structure similaire, mais sรฉparรฉes pour une raison prรฉcise. Il est particuliรจrement utile pour supprimer les doublons.
Utilisez l'opรฉrateur UNION ALL lorsque vous n'avez pas besoin de supprimer ou d'รฉliminer les enregistrements en double.
Utiliser pgAdmin
Voyons maintenant comment ces trois actions sont rรฉalisรฉes ร l'aide de pgAdmin.
Comment utiliser PostgreSQL Union utilisant pgAdmin
Voici la procรฉdure รฉtape par รฉtape pour utiliser PostgreSQL UNION via pgAdmin :
รtape 1) Connectez-vous ร votre compte pgAdmin.
รtape 2) Dans la barre de navigation ร gauche, cliquez sur Bases de donnรฉes, puis sur Dรฉmo.
รtape 3) 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.
Il devrait renvoyer ce qui suit :
Union tout
รtape 1) Connectez-vous ร votre compte pgAdmin.
รtape 2) Dans la barre de navigation ร gauche, cliquez sur Bases de donnรฉes, puis 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.
Tรฉlรฉchargez la base de donnรฉes utilisรฉe dans ce tutoriel

















