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:

PostgreSQL syndicat

Le prix :

PostgreSQL syndicat

Exรฉcutons la commande suivante :

SELECT id
FROM Book
UNION
SELECT id
FROM Price;

La commande renverra ce qui suit :

PostgreSQL syndicat

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:

PostgreSQL Union tout

Le prix :

PostgreSQL Union tout

Exรฉcutez la commande suivante:

 
SELECT id
FROM Book
UNION ALL
SELECT id
FROM price;

Il devrait renvoyer ce qui suit :

PostgreSQL Union tout

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 :

COMMANDร‰ PAR

Prix2 :

COMMANDร‰ PAR

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 :

COMMANDร‰ PAR

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 :

COMMANDร‰ PAR

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

  1. Dans la barre de navigation ร  gauche, cliquez sur Bases de donnรฉes.
  2. Cliquez sur Dรฉmo.

Utilisez le  PostgreSQL Union utilisant pgAdmin

ร‰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.

Utilisez le  PostgreSQL Union utilisant pgAdmin

Il devrait renvoyer ce qui suit :

Utilisez le  PostgreSQL Union utilisant pgAdmin

Union tout

ร‰tape 1) Connectez-vous ร  votre compte pgAdmin.

ร‰tape 2)

  1. Dans la barre de navigation de gauche, cliquez sur Bases de donnรฉes.
  2. Cliquez sur Dรฉmo.

Utilisez le  PostgreSQL Union Tous ร  l'aide de pgAdmin

ร‰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.

Utilisez le  PostgreSQL Union Tous ร  l'aide de pgAdmin

Il devrait renvoyer ce qui suit :

Utilisez le  PostgreSQL Union Tous ร  l'aide de pgAdmin

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 :

Utilisez le  PostgreSQL COMMANDER PAR Utilisation de pgAdmin

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

Rรฉsumez cet article avec :