MySQL UNION 操作符

2024-04-17  本文已影响0人  Tinyspot

1. UNION 操作符

UNION 操作符用于合并两个或多个 SELECT 语句的结果集

UNION 内部的 SELECT 语句必须拥有相同数量的列
列必须拥有相似的数据类型
每条 SELECT 语句中的列的顺序必须相同

1.2 UNION vs UNION ALL

MySQL 中的 UNION 和 UNION ALL 用于合并多个 SELECT 查询的结果集,前者会去除重复行,后者则保留所有行

2. UNION

SELECT column1, column2, ...
FROM table1
UNION
SELECT column1, column2, ...
FROM table2;

每个 SELECT 语句必须返回相同数量的列(比如 column1, column2, ... ),并且对应列的数据类型必须兼容

3. UNION ALL

SELECT column1, column2, ...
FROM table1
WHERE condition1
UNION ALL
SELECT column1, column2, ...
FROM table2
WHERE condition2;

3.2 通用条件筛选

如果有通用的筛选条件适用于所有 SELECT 语句,可以考虑将其置于外部的 WHERE 子句中

SELECT * FROM (
    SELECT column1, column2, ...
    FROM table1
    WHERE condition1
    UNION ALL
    SELECT column1, column2, ...
    FROM table2
    WHERE condition2
) AS combined_results
WHERE additional_condition;  -- 对合并后的结果集应用其他条件
上一篇 下一篇

猜你喜欢

热点阅读