UNION 操作符
MySQL UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中。多个 SELECT 语句会删除重复的数据。
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: 可选, 检索条件。
- DISTINCT: 可选,删除结果集中重复的数据。默认情况下 UNION 操作符已经删除了重复数据,所以 DISTINCT 修饰符对结果没啥影响。
- ALL: 可选,返回所有结果集,包含重复数据。
带有 WHERE 的 SQL UNION ALL
SELECT country, name FROM Websites
WHERE country=‘CN‘
UNION ALL
SELECT country, app_name FROM apps
WHERE country=‘CN‘
ORDER BY country;
注意:
只要上下选择的 expression 的个数保持一致就好,不用在意数据类型
也就是说列数要保持一致,否则会报错
但是当列的含义不同时,没有意义,最好保证列类型相同。
select runoob_id,submission_date from runoob_tbl where runoob_author = ‘菜鸟教程‘
union all
select runoob_id,runoob_title from runoob where runoob_author = ‘菜鸟教程‘;
+-----------+-----------------+
| runoob_id | submission_date |
+-----------+-----------------+
| 1 | 2019-09-18 |
| 2 | 2019-09-18 |
| 2 | 学习 MySQL |
+-----------+-----------------+
3 rows in set
原文地址:https://www.cnblogs.com/Stephanie-boke/p/11664507.html
时间: 2024-11-05 13:34:17