Manuel du didac...SE CONNECTER
Manuel du didacticiel de démarrage SQL
auteur:php.cn  temps de mise à jour:2022-04-12 14:15:40

UNION SQL



L'opérateur SQL UNION combine les résultats de deux ou plusieurs instructions SELECT.


Opérateur SQL UNION

L'opérateur UNION est utilisé pour fusionner les ensembles de résultats de deux ou plusieurs instructions SELECT.

Notez que chaque instruction SELECT à l'intérieur d'une UNION doit avoir le même nombre de colonnes. Les colonnes doivent également avoir des types de données similaires. De plus, l'ordre des colonnes dans chaque instruction SELECT doit être le même.

Syntaxe SQL UNION

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

Remarque : Par défaut, l'opérateur UNION sélectionne différentes valeurs. Si les valeurs en double sont autorisées, utilisez UNION ALL.

Syntaxe SQL UNION ALL

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

Remarque : Le nom de colonne dans le jeu de résultats UNION est toujours égal à la première instruction SELECT dans Nom de la colonne UNION.


Base de données de démonstration

Dans ce tutoriel, nous utiliserons un exemple de base de données php.

Voici les données sélectionnées dans le tableau "Sites Web" :

+----+--------------+-- - --------------+------+---------+
| identifiant | | url                                                              | | États-Unis
| 2 | Taobao | https://www.taobao.com/ | |
| Weibo | http://weibo.com/ |
| | stackoverflow | http://stackoverflow.com/ | 0 |
+----+--------------+--------- - ----------------+------+---------+

Ce qui suit sont les données de l'application "apps" :

mysql> SELECT * FROM apps;
+----+----------- -+ ----------------+---------+
| identifiant nom_application | |
+----+------------+-------------------------+- --- -----+
| 1 | APPLICATION QQ | http://im.qq.com/ |
| APPLICATION Weibo http://weibo.com/ | |
| 3 | APPLICATION Taobao | https://www.taobao.com/ |
+----+------------+----- - -------------------+---------+
3 lignes dans l'ensemble (0,00 sec)

Exemple SQL UNION

L'instruction SQL suivante sélectionne tous les différentspays (uniquement des valeurs différentes) dans les tables « Sites Web » et « Applications » :

Exemple

SELECT country FROM Websites
UNION
SELECT country FROM apps
ORDER BY country;

Le résultat de l'exécution du code SQL ci-dessus est le suivant :

Remarque : UNION ne peut pas être utilisé pour répertorier tous les pays dans deux tableaux. Si certains sites Web et applications proviennent du même pays, chaque pays ne sera répertorié qu'une seule fois. UNION ne sélectionnera que des valeurs distinctes. Veuillez utiliser UNION ALL pour sélectionner les valeurs en double !


Exemple SQL UNION ALL

L'instruction SQL suivante utilise UNION ALL pour sélectionner tous les pays (il y a aussi des doublons) à partir des « Sites Web » et des « applications " valeurs des tables) :

Instance

SELECT country FROM Websites
UNION ALL
SELECT country FROM apps
ORDER BY country ;

Le résultat de l’exécution du SQL ci-dessus est le suivant :



SQL UNION ALL AND WHERE

L'instruction SQL suivante utilise UNION ALL pour sélectionner toutes les données Chine (CN) (il existe également des valeurs en double) :

Instance

                     SELECT pays, nom FROM Sites Web
WHERE country='CN'
UNION ALL
SELECT country, app_name FROM apps
WHERE country='CN'
ORDER BY country;

Le résultat de l'exécution du SQL ci-dessus est le suivant :