Latest web development tutorials

SQL UNION opérateur

SQL UNION et des résultats d'exploitation pour les deux instructions SELECT ou plus.


SQL UNION opérateur

résultat de l'opération UNION poste opérateur utilisé pour combiner deux ou plusieurs instructions SELECT.

S'il vous plaît noter, UNION l'intérieur de chaque instruction SELECT doit avoir le même nombre de colonnes. Les colonnes doivent également avoir des types de données similaires. Dans le même temps, l'ordre des colonnes dans chaque instruction SELECT doit être le même.

SQL UNION Syntaxe

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

Remarque: Par défaut, l' opérateur UNION pour sélectionner une valeur différente.Si vous autorisez les valeurs en double, utilisez UNION ALL.

syntaxe SQL UNION ALL

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

Remarque: UNION jeu de résultats est toujours égal aux noms de colonnes dans les premiers noms de colonnes UNION instruction SELECT.


La base de données de démonstration

Dans ce tutoriel, nous allons utiliser la base de données de l'échantillon w3big.

Ce qui suit est un «Sites Web» sélectionnés de données de la table:

+----+--------------+---------------------------+-------+---------+
| id | name         | url                       | alexa | country |
+----+--------------+---------------------------+-------+---------+
| 1  | Google       | https://www.google.cm/    | 1     | USA     |
| 2  | 淘宝          | https://www.taobao.com/   | 13    | CN      |
| 3  | 本教程      | http://www.w3big.com/    | 4689  | CN      |
| 4  | 微博          | http://weibo.com/         | 20    | CN      |
| 5  | Facebook     | https://www.facebook.com/ | 3     | USA     |
| 7  | stackoverflow | http://stackoverflow.com/ |   0 | IND     |
+----+---------------+---------------------------+-------+---------+

Voici le "applications" données APP:

mysql> SELECT * FROM apps;
+----+------------+-------------------------+---------+
| id | app_name   | url                     | country |
+----+------------+-------------------------+---------+
|  1 | QQ APP     | http://im.qq.com/       | CN      |
|  2 | 微博 APP | http://weibo.com/       | CN      |
|  3 | 淘宝 APP | https://www.taobao.com/ | CN      |
+----+------------+-------------------------+---------+
3 rows in set (0.00 sec)


Exemples de SQL UNION

L'instruction SQL suivante pour sélectionner tout le pays différent (seulement une valeur différente) des "Sites" et "applications" tableau:

Exemples

pays SELECT à partir de sites
UNION
pays SELECT FROM applications
ORDER BY pays;

Exécutez le SQL ci-dessus des résultats de sortie sont les suivantes:

Remarque: UNION répertorie deux tables ne peuvent pas être utilisés tout le pays.Si certains sites et APP du même pays, chaque pays est répertorié qu'une seule fois. UNION seulement sélectionner des valeurs différentes. Utilisez UNION ALL pour sélectionner les valeurs en double!


SQL UNION toutes les instances

L'instruction SQL suivante utilise UNION ALL pour sélectionner tout le pays à partir des «sites Web» et «apps» table (il y a des valeurs en double):

Exemples

pays SELECT à partir de sites
UNION ALL
pays SELECT FROM applications
ORDER BY pays;

Exécutez le SQL ci-dessus des résultats de sortie sont les suivantes:



SQL UNION ALL avec le WHERE

L'instruction SQL suivante utilise UNION ALL pour sélectionner toute la Chine (CN) Les données des "sites" et "applications" table (il y a des valeurs en double):

Exemples

SELECT country, name FROM Websites
WHERE country='CN'
UNION ALL
SELECT country, app_name FROM apps
WHERE country='CN'
ORDER BY country;

Exécutez le SQL ci-dessus des résultats de sortie sont les suivantes: