0


SQL 基础 | UNION 用法介绍

在SQL中,

UNION

操作符用于合并两个或多个

SELECT

语句的结果集,形成一个新的结果集。

使用

UNION

时,合并的结果集列数必须相同,并且列的数据类型也需要兼容。

默认情况下,

UNION

会去除重复的行,只保留唯一的行。

以下是

UNION

的一些常见用法:

  1. 基本用法: 使用 UNION将两个查询的结果集合并,每个查询的列数和类型必须相同。
SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;

例如,合并两个表中所有客户的姓名:

SELECT CustomerName FROM Customers
UNION
SELECT CustomerName FROM Suppliers;
  1.  **使用     ```UNION ALL```**:     ```UNION ALL```与     ```UNION```类似,但它不会去除重复的行。如果合并的结果集中存在重复的行,     ```UNION ALL```会保留它们。
    
SELECT column_name(s) FROM table1
UNION ALL
SELECT column_name(s) FROM table2;
  1. 合并多表UNION可以用于合并两个以上的查询结果集,每个查询之间用 UNION连接。
SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2
UNION
SELECT column_name(s) FROM table3;
  1. 指定排序UNION的结果集默认不排序。如果你想要对合并后的结果进行排序,需要使用 ORDER BY子句,并且只能放在所有 UNION操作的最后。
(SELECT column_name(s) FROM table1)
UNION
(SELECT column_name(s) FROM table2)
ORDER BY column_name;
  1. 使用别名: 可以为 UNION中的每个查询指定别名,使结果集更加清晰。
(SELECT column_name AS alias_name FROM table1) AS t1
UNION
(SELECT column_name AS alias_name FROM table2) AS t2;
  1. 与子查询结合使用UNION可以与子查询结合使用,子查询可以是更复杂的查询。
(SELECT * FROM table1 WHERE condition1)
UNION
(SELECT * FROM (SELECT * FROM table2) AS subquery WHERE condition2);
  1.  **使用     ```LIMIT```和     ```OFFSET```**: 可以在     ```UNION```操作的每个查询中使用     ```LIMIT```和     ```OFFSET```来控制结果集的行数和偏移量。
    
(SELECT column_name(s) FROM table1 LIMIT 10) 
UNION 
(SELECT column_name(s) FROM table2 LIMIT 10 OFFSET 10);

使用

UNION

时,需要注意以下几点:

  •  所有查询的列数必须相同。    
    
  •  相应列的数据类型必须兼容,不需要完全相同,但是必须是可以比较的。    
    
  •  默认情况下,     ```UNION```会自动去除重复的行,如果需要包含重复行,使用     ```UNION ALL```。    
    
  • UNION的结果集不能指定列名,列名来自参与 UNION的第一个查询。
  •  对结果集进行排序只能使用一个     ```ORDER BY```子句,并且必须位于所有     ```UNION```操作之后。
    
UNION

是一个非常有用的工具,可以帮助你将来自不同表的数据合并成一个统一的结果集,从而简化数据分析和报告。

-- END --
alt
如果这篇文章为你带来了灵感或启发,就请帮忙点『赞』or『在看』or『转发』吧,感谢!(๑˃̵ᴗ˂̵)

-- END --
alt
如果这篇文章为你带来了灵感或启发,就请帮忙点『赞』or『在看』or『转发』吧,感谢!(๑˃̵ᴗ˂̵)

本文由 mdnice 多平台发布

标签: 程序人生

本文转载自: https://blog.csdn.net/breeze915/article/details/138398425
版权归原作者 mysqloffice 所有, 如有侵权,请联系我们删除。

“SQL 基础 | UNION 用法介绍”的评论:

还没有评论