Tutoriel SQL

ACCUEIL SQL Introduction SQL Syntaxe SQL Sélection SQL SQL Select Distinct SQL Où SQL et, ou, pas Tri SQL par Insertion SQL dans Valeurs nulles SQL Mise à jour SQL Supprimer SQL SQL Sélectionner Haut Min et Max SQL Nombre SQL, Moy, Somme J'aime SQL Caractères génériques SQL Entrée SQL SQL Entre Alias ​​SQL Jointures SQL Jointure interne SQL Jointure gauche SQL Jointure droite SQL Jointure complète SQL Auto-jointure SQL Union SQL Regrouper SQL par SQL ayant SQL existe SQL Tout, Tout SQL Sélectionner dans Insertion SQL dans la sélection Cas SQL Fonctions nulles SQL Procédures stockées SQL Commentaires SQL Opérateurs SQL

Base de données SQL

SQL Créer une base de données BD de suppression SQL Base de données de sauvegarde SQL Créer une table SQL Table de dépôt SQL Table de modification SQL Contraintes SQL SQL non nul SQL unique Clé primaire SQL Clé étrangère SQL Vérification SQL SQL par défaut Index SQL Incrément automatique SQL Dates SQL Vues SQL Injection SQL Hébergement SQL Types de données SQL

Références SQL

Mots clés SQL Fonctions MySQL Fonctions SQL Server Fonctions MS Access Référence rapide SQL

Exemples SQL

Exemples SQL Questionnaire SQL Exercices SQL Certificat SQL

Opérateur UNION SQL


L'opérateur SQL UNION

L' UNIONopérateur est utilisé pour combiner le jeu de résultats de deux SELECT déclarations ou plus.

  • Chaque SELECTinstruction à l'intérieur UNIONdoit avoir le même nombre de colonnes
  • Les colonnes doivent également avoir des types de données similaires
  • Les colonnes de chaque SELECTinstruction doivent également être dans le même ordre

Syntaxe UNION

SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;

UNION ALL Syntaxe

L' UNIONopérateur ne sélectionne que des valeurs distinctes par défaut. Pour autoriser les valeurs en double, utilisezUNION ALL :

SELECT column_name(s) FROM table1
UNION ALL
SELECT column_name(s) FROM table2;

Remarque : Les noms de colonne dans le jeu de résultats sont généralement égaux aux noms de colonne dans la première SELECTinstruction.


Base de données de démonstration

Dans ce didacticiel, nous utiliserons la célèbre base de données d'exemples Northwind.

Voici une sélection du tableau "Clients":

CustomerID CustomerName ContactName Address City PostalCode Country
1

Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico

Et une sélection du tableau "Fournisseurs":

SupplierID SupplierName ContactName Address City PostalCode Country
1 Exotic Liquid Charlotte Cooper 49 Gilbert St. London EC1 4SD UK
2 New Orleans Cajun Delights Shelley Burke P.O. Box 78934 New Orleans 70117 USA
3 Grandma Kelly's Homestead Regina Murphy 707 Oxford Rd. Ann Arbor 48104 USA


SQL UNION Exemple

L'instruction SQL suivante renvoie les villes (uniquement des valeurs distinctes) des tables "Clients" et "Fournisseurs" :

Exemple

SELECT City FROM Customers
UNION
SELECT City FROM Suppliers
ORDER BY City;

Remarque : Si certains clients ou fournisseurs ont la même ville, chaque ville ne sera répertoriée qu'une seule fois, car UNIONne sélectionne que des valeurs distinctes. Utilisez UNION ALLpour sélectionner également les valeurs en double !


SQL UNION TOUS Exemple

L'instruction SQL suivante renvoie les villes (valeurs en double également) des tables "Clients" et "Fournisseurs" :

Exemple

SELECT City FROM Customers
UNION ALL
SELECT City FROM Suppliers
ORDER BY City;

SQL UNION Avec WHERE

L'instruction SQL suivante renvoie les villes allemandes (uniquement des valeurs distinctes) à partir des tables "Clients" et "Fournisseurs" :

Exemple

SELECT City, Country FROM Customers
WHERE Country='Germany'
UNION
SELECT City, Country FROM Suppliers
WHERE Country='Germany'
ORDER BY City;

SQL UNION ALL Avec WHERE

L'instruction SQL suivante renvoie les villes allemandes (valeurs en double également) à partir des tables "Clients" et "Fournisseurs" :

Exemple

SELECT City, Country FROM Customers
WHERE Country='Germany'
UNION ALL
SELECT City, Country FROM Suppliers
WHERE Country='Germany'
ORDER BY City;

Un autre exemple d'UNION

L'instruction SQL suivante répertorie tous les clients et fournisseurs :

Exemple

SELECT 'Customer' AS Type, ContactName, City, Country
FROM Customers
UNION
SELECT 'Supplier', ContactName, City, Country
FROM Suppliers;

Remarquez le "AS Type" ci-dessus - c'est un alias. Les alias SQL sont utilisés pour donner à une table ou à une colonne un nom temporaire. Un alias n'existe que pour la durée de la requête. Donc, ici, nous avons créé une colonne temporaire nommée "Type", qui indique si la personne de contact est un "Client" ou un "Fournisseur".