MySQL联合查询(UNION)是用于将多个SELECT语句的结果合并为一个结果集的操作。联合查询要求每个SELECT语句的列数和数据类型必须相同。
语法格式:
SELECT 列1, 列2, ... FROM 表1
UNION [ALL]
SELECT 列1, 列2, ... FROM 表2
[UNION [ALL]
SELECT 列1, 列2, ... FROM 表3]
...
其中,UNION表示取两个SELECT语句的结果的并集,去除重复行;UNION ALL表示取两个SELECT语句的结果的并集,包括重复行。
示例: 假设有两个表,表A和表B,分别包含以下数据:
表A:
+----+---------+
| id | name |
+----+---------+
| 1 | Alice |
| 2 | Bob |
| 3 | Charlie |
+----+---------+
表B:
+----+---------+
| id | name |
+----+---------+
| 3 | David |
| 4 | Emily |
| 5 | Alice |
+----+---------+
执行以下联合查询:
SELECT id, name FROM A
UNION
SELECT id, name FROM B;
结果为:
+----+---------+
| id | name |
+----+---------+
| 1 | Alice |
| 2 | Bob |
| 3 | Charlie |
| 3 | David |
| 4 | Emily |
+----+---------+
注意:联合查询的结果集会自动去除重复行,如果需要包含重复行,可以使用UNION ALL。
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站