SQL UNION permet de fusionner les en­re­gis­tre­ments de deux ou plusieurs tables dans une table cible sans les dupliquer. Cela présente l’avantage de réunir dans une seule table des en­re­gis­tre­ments qui se rap­por­tent les uns aux autres, pour une meilleure vue d’ensemble, et d’effectuer des requêtes de données plus efficaces et plus per­ti­nentes.

SQL UNION : qu’est-ce que c’est ?

Qu’il s’agisse d’en­re­gis­tre­ments tels que des in­for­ma­tions sur les clients, les prix ou les produits, des données de projet ou des données fi­nan­cières, la main­te­nance de bases de données complexes re­pré­sente un défi. Les ad­mi­nis­tra­teurs doivent notamment ras­sem­bler ef­fi­ca­ce­ment des ensembles de données existants et liés dans des tableaux de résultats per­ti­nents. Pour cela, on utilise souvent l’opérateur SQL UNION. En utilisant UNION pour les requêtes de données, les com­pa­rai­sons, les analyses ou les mo­di­fi­ca­tions d’en­re­gis­tre­ments, vous réunissez les en­re­gis­tre­ments sé­lec­tion­nés d’une ou plusieurs tables et supprimez les doublons éventuels.

En com­bi­nai­son avec d’autres commandes SQL et fonctions telles que ORDER BY, GROUP BY, WHERE ou HAVING, vous créez des struc­tures de données per­ti­nentes selon des critères clairs pour vos analyses, rapports ou mises à jour. Avec des fonctions d’agré­ga­tion telles que SQL AVG ou SQL SUM, vous pouvez également fusionner des tables tout en calculant et en triant des ensembles de résultats selon vos besoins.

Conseil

Pour faire ses premiers pas avec SQL, il faut disposer des con­nais­sances de base né­ces­saires. Notre in­tro­duc­tion à SQL vous enseigne les fonctions et les bases les plus im­por­tantes pour tra­vail­ler avec ce langage.

La syntaxe de SQL UNION expliquée

La syntaxe de UNION est assez simple et se présente comme suit :

SELECT colonneA, colonneB, ... ou * FROM tableA
UNION
SELECT colonneA, colonneB, ... ou * FROM tableB
sql

Voici une ex­pli­ca­tion des dif­fé­rents pa­ra­mètres utilisés ci-dessus :

  • SELECT : avec le mot-clé SQL SELECT, vous dé­fi­nis­sez les colonnes que vous souhaitez fusionner à partir de deux tables. Avec l’as­té­risque *, vous pouvez également sé­lec­tion­ner tous les en­re­gis­tre­ments. Le nombre de colonnes sé­lec­tion­nées doit être identique dans chaque élément SELECT d’une ins­truc­tion UNION et doit être placé dans le même ordre.
  • UNION : fusionne les en­re­gis­tre­ments sé­lec­tion­nés dans deux tables dans une table cible.

Les ap­pli­ca­tions de SQL UNION

Si vous souhaitez fusionner fa­ci­le­ment des en­re­gis­tre­ments connexes tels que des dossiers clients, des données fi­nan­cières ou des in­for­ma­tions sur des produits et des projets, vous ne pouvez pas faire l’impasse sur SQL UNION. Dans tous les secteurs, cet opérateur SQL est utilisé entre autres pour les pos­si­bi­li­tés d’ap­pli­ca­tion suivantes :

  • créer des dossiers et des fichiers nu­mé­riques complets à partir de données de clients, de projets, de patients ou de commandes
  • établir des rapports de vente ou comparer des données de dif­fé­rents dé­par­te­ments
  • analyser le com­por­te­ment d’achat pour générer des leads
  • analyser et comparer des données fi­nan­cières et tran­sac­tion­nelles
  • supprimer les doublons de rapports ou d’ensembles de données fusionnés
  • évaluer les quantités produites, les quantités livrées ou le niveau des stocks
  • agréger les données de commande et de vente pour iden­ti­fier des tendances ou effectuer des analyses marketing.
Conseil

Profitez d’un stockage de données sécurisé, de per­for­mances évo­lu­tives et d’offres de serveurs et d’hé­ber­ge­ment per­son­na­li­sées avec le serveur d’hé­ber­ge­ment SQL de IONOS. Choi­sis­sez parmi les serveurs Cloud, les vServers (VPS), les serveurs dédiés ou l’hé­ber­ge­ment Linux et comptez sur une sécurité des données de niveau européen.

Serveurs virtuels (VPS)
VPS éco­no­miques sur serveurs Dell En­ter­prise
  • 1 Gbit/s de bande passante et trafic illimité
  • Dis­po­ni­bi­lité de 99,99 % et cer­ti­fi­ca­tion ISO
  • As­sis­tance 24/7 primée pour sa qualité et con­seil­ler personnel

Exemples concrets d’uti­li­sa­tion de SQL UNION

Nos exemples concrets ont pour but d’illustrer sim­ple­ment comment fusionner ef­fi­ca­ce­ment des en­re­gis­tre­ments avec SQL UNION.

Fusionner deux en­re­gis­tre­ments dans une table

Supposons que vous sou­hai­tiez fusionner les en­re­gis­tre­ments de tables « Abonnés » et « Clients » dans une table cible sans doublons, en utilisant des colonnes telles que « Nom », « Adresse » et « Numéro client ». Vous pouvez procéder de cette manière :

SELECT Nom, Adresse, Numéro client
FROM Abonnés
UNION
SELECT Nom, Adresse, Numéro client
FROM Clients
sql

Fusionner les données des col­la­bo­ra­teurs de dif­fé­rents dé­par­te­ments

Vous souhaitez fusionner les données des col­la­bo­ra­teurs des tables « Marketing » et « Ventes » à l’aide de colonnes telles que « Nom » et « Ville ». Voici comment faire :

SELECT Nom, Ville
FROM Marketing
UNION
SELECT Nom, Ville
FROM Ventes
sql

Fusionner deux en­re­gis­tre­ments avec UNION ALL

Dans notre troisième exemple, nous il­lus­trons le fonc­tion­ne­ment de UNION ALL. Con­trai­re­ment à l’opérateur UNION, vous obtenez avec UNION ALL une table cible avec tous les en­re­gis­tre­ments. Les doublons ne sont donc pas supprimés. Prenons l’exemple d’une table « Clients » et d’une table « Four­nis­seurs » que vous souhaitez fusionner à la condition que les clients et les four­nis­seurs soient ori­gi­naires de « Paris ». Voici comment procéder :

SELECT Nom, Ville
FROM Clients
WHERE Ville = 'Paris'
UNION ALL
SELECT Nom, Ville
FROM Fournisseurs
WHERE Ville = 'Paris'
sql

Al­ter­na­tives à SQL UNION

Pour la fusion de données sans doublons, il existe d’autres options en plus ou à la place de UNION. Voici les plus notables :

  • JOIN : avec SQL JOIN, vous pouvez fusionner, in­ter­ro­ger et relier des données entre plusieurs tables. Pour cela, vous disposez de commandes telles que INNER JOIN, LEFT JOIN, RIGHT JOIN ainsi que FULL JOIN ou CROSS JOIN. Les ins­truc­tions JOIN per­met­tent de fusionner des en­re­gis­tre­ments de deux tables de manière beaucoup plus ciblée et flexible qu’avec UNION, car vous dé­fi­nis­sez entre autres des con­di­tions avec la clause ON.
  • GROUP BY : avec SQL GROUP BY, vous regroupez dans une table cible des en­re­gis­tre­ments sé­lec­tion­nés dans des colonnes et des tables ayant des valeurs iden­tiques.
  • ORDER BY : avec SQL ORDER BY, vous dé­ter­mi­nez l’ordre dans lequel vous organisez les en­re­gis­tre­ments dans une table cible.
  • SELECT DISTINCT : avec SQL SELECT DISTINCT, vous pouvez, comme avec UNION, n’afficher dans une table cible que des résultats de requête uniques sans doublons.
  • UNION ALL : l’opérateur UNION ALL fonc­tionne de manière similaire à UNION, mais fusionne tous les en­re­gis­tre­ments de la table sé­lec­tion­née, y compris les doublons.
Aller au menu principal