MySQL UNION 操作符

1. UNION 操作符

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

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

1.2 UNION vs UNION ALL

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

2. UNION

  • UNION 会自动去掉重复的行
SELECT column1, column2, ...
FROM table1
UNION
SELECT column1, column2, ...
FROM table2;

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

3. UNION ALL

  • 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;  -- 对合并后的结果集应用其他条件

【信息由网络或者个人提供,如有涉及版权请联系COOY资源网邮箱处理】

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容