Différence SQL entre les opérateurs Union, Union All et Union Distinct

Difference Sql Entre Les Operateurs Union Union All Et Union Distinct



SQL nous fournit l'opérateur UNION qui nous permet de combiner les jeux de résultats de deux ou plusieurs instructions SELECT en un seul jeu de résultats. Il existe trois principaux types d'opérateurs UNION dans SQL : UNION, UNION ALL et UNION DISTINCT.

Ce tutoriel explore ces trois types d'UNIONS et fournit des exemples concrets et pratiques de travail avec eux.







NOTE: Dans cet exemple, nous utiliserons l'exemple de base de données Sakila à des fins de démonstration. Assurez-vous qu'il est installé avant d'exécuter ces commandes. Vous pouvez consulter notre tutoriel à ce sujet pour en savoir plus.



Opérateur UNION SQL

Comme mentionné, l'opérateur UNION nous permet de combiner le jeu de résultats de deux ou plusieurs instructions select et de supprimer les valeurs en double. La syntaxe de l'opérateur UNION est la suivante :



SELECT colonne1, colonne2, ...
DE table1
SYNDICAT
SELECT colonne1, colonne2, ...
DE table2 ;


Dans l'exemple de syntaxe précédent, nous utilisons les instructions SELECT pour récupérer les données des tables spécifiées. L'opérateur UNION combine ensuite les deux ensembles de résultats en un seul ensemble. Prenons un exemple sur la façon de procéder en utilisant la table des acteurs définie dans la base de données Sakila.





Prenons l'exemple de requête suivant qui récupère le prénom et le nom des acteurs à partir de la table des acteurs et de la table des clients :

SELECT prénom, nom
DE l'acteur
SYNDICAT
SELECT prénom, nom
DU client ; SELECT prénom, nom
DE l'acteur
SYNDICAT
SELECT prénom, nom
DU client ;


La requête précédente extrait les noms et prénoms des tables des acteurs et des clients et renvoie les valeurs sous la forme d'un résultat unique.



Un exemple de sortie est le suivant :

Opérateur SQL UNION ALL

Contrairement à l'opérateur UNION qui supprime les valeurs en double du jeu de résultats, l'opérateur UNION renvoie toutes les lignes des tables, y compris les doublons.

La syntaxe est la suivante :

SELECT colonne1, colonne2, ...
DE table1
UNION TOUS
SELECT colonne1, colonne2, ...
DE table2 ;


L'exemple suivant sélectionne le prénom et le nom dans les tables d'acteurs et de clients de la base de données Sakila :

SELECT prénom, nom
DE l'acteur
UNION TOUS
SELECT prénom, nom
DU client ;


Un exemple de sortie est le suivant :

Opérateur SQL UNION DISTINCT

L'autre type d'opérateur syndical est l'UNION DISTINCT. Cet opérateur est simplement un doublon de l'opérateur UNION qui effectue une action similaire.

La syntaxe est la suivante :

SELECT colonne1, colonne2, ...
DE table1
UNION DISTINCTE
SELECT colonne1, colonne2, ...
DE table2 ;


Les instructions SELECT récupèrent les données des tables spécifiées et l'opérateur UNION DISTINCT combine les ensembles de résultats en un seul ensemble de résultats qui inclut les lignes uniques.

Dans l'exemple de la base de données Sakila, nous pouvons exécuter la commande suivante :

SELECT prénom, nom
DE l'acteur
UNION DISTINCTE
SELECT prénom, nom
DU client ;


Cela devrait retourner un résultat similaire à celui de l'opérateur UNION.

Conclusion

Nous avons appris à travailler avec les différents types d'UNIONS en SQL. L'opérateur UNION combine le jeu de résultats de deux ou plusieurs instructions de sélection et supprime les enregistrements en double. UNION ALL effectue une action similaire mais inclut toutes les lignes en double. Enfin, l'UNION DISTINCT est identique à un opérateur UNION natif.