SQL : les requêtes UNION

Une requête UNION réunit le contenu de plusieurs tables (ou le résultat de plusieurs requêtes). Ainsi, une table A composée de six lignes (enregistrements) et une table B composée de neuf lignes donneront un résultat de composé de quinze lignes. Cette réunion est réalisée à l’aide de requêtes unies par l’instruction UNION. Les tables parties prenantes à la requête doivent avoir une structure identique (même nombre de champs de données).

SELECT *
FROM Table1
UNION
SELECT *
FROM Table2

Les requêtes UNION sont utilisées dans de nombreux cas pour agréger des données : stocks de marchandises de différents magasins, écritures comptables de sociétés membres d’un groupe…

Par exemple, pour rassembler deux états de stock, l’un du dépôt n° 1 et l’autre du dépôt n° 2, une requête UNION rédigée ainsi lui permettra de ne plus disposer que d’un seul état :

SELECT [Stock1].Référence, [Stock1].Désignation, [Stock1].Quantité, [Stock1].PU,[Stock1].ValeurStock
FROM [Stock1]
UNION
SELECT [Stock2].Référence, [Stock2].Désignation, [Stock2].Quantité, [Stock2].PU,[Stock2].ValeurStock
FROM [Stock2];

Exemple de résultat :

Référence Désignation Quantité
150 PALETTE 181
300 CHEVRON 6X8 1400
300 CHEVROB 6X8 208
512 ELINGUES DIAM 12 MM(F.UT: 500KG) 12
516 ELINGUES DIAM 16 MM(F.UT:1000KG) 48
520 ELINGUES DIAM 20 MM(F.UT:1600KG) 64
524 ELINGUES DIAM 24 MM 15

Les mêmes références présentes sur les deux dépôts apparaîtront sur deux lignes distinctes. Une requête de regroupement appliquée sur ce résultat agrégera opportunément ces références sur une seule ligne.

A noter, l’exécution de la requête supprimera toutes les lignes en doublon. Pour conserver l’ensemble des enregistrements, y compris les doublons, l’instruction liant les tables sera UNION ALL.

Approfondir le sujet : Maîtriser le langage de requête SQL / Analyse de données

Share Button
The following two tabs change content below.
Après seize années passées en cabinet d’expertise-comptable et de commissariat aux comptes (où j’ai exercé comme expert-comptable et chef de mission audit), j’ai pris le poste de directeur comptable d’un groupe de distribution automobile en novembre 2014. Au cours de ma carrière, j’ai acquis une expérience significative en audit et en exploitation des systèmes d’information (analyse de données, automatisation des tâches, programmation informatique) au service de la production des comptes annuels et consolidés. C’est cette expérience personnelle et ma passion pour l’informatique que je partage sur ce blog. Mon CV / Réalisations personnelles et projets informatiques / Ma collection / Me contacter

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.