MySQL 学习笔记九——连接两个以上的表数据
UNION 操作符
学习与菜鸟教程 MySQL UNION 操作符
MySQL UNION 用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中,多个 SELECT 语句会删除重复的数据。
SQL 命令行 UNION 用法
SELECT expression1, expression2, … expression_n
FROM tables
[WHERE conditions]
UNION [ALL | DISTINCT]
SELECT expression1, expression2, … expression_n
FROM tables
[WHERE conditions];
- expression1, expression2, … expression_n 要检索的列
- tables :要检索的数据表
- WHERE conditions :可选,检索条件
- DISTINT :默认,删除重复数据
- ALL:可选,返回所有结果,包含重复数据
实例:
website数据:
mysql> SELECT * FROM Websites;
±—±-------------±--------------------------±------±--------+
| id | name | url | alexa | country |
±—±-------------±--------------------------±------±--------+
| 1 | Google | https://www.google.cm/ | 1 | USA |
| 2 | 淘宝 | https://www.taobao.com/ | 13 | CN |
| 3 | 菜鸟教程 | http://www.runoob.com/ | 4689 | CN |
| 4 | 微博 | http://weibo.com/ | 20 | CN |
| 5 | Facebook | https://www.facebook.com/ | 3 | USA |
| 7 | stackoverflow | http://stackoverflow.com/ | 0 | IND |
±—±--------------±--------------------------±------±--------+
apps 数据:
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)
SELECT country, name FROM Websites
WHERE country='CN'
UNION ALL
SELECT country, app_name FROM apps
WHERE country='CN'
ORDER BY country;