无名阁,只为技术而生。流水不争先,争的是滔滔不绝。

(mysqlunion和union all区别) MySQL中union和union all区别 MySQL中 UNION 和 UNION ALL 操作符 全网首发(图文详解1)

前沿技术 Micheal 3个月前 (06-16) 34次浏览 已收录 扫描二维码

(mysqlunion和union all区别) MySQL中union和union all区别

MySQL中的UNIONUNION ALL都是用来结合两个或更多SELECT语句的结果的操作符。它们的使用方式相同,但实际效果有所不同。

  • UNION:它会去除结果集中的重复行。也就是说,如果两个SELECT语句产生的结果集有重复的行,那么UNION只会选取其中的一行。
  • UNION ALL:它不会去除结果集中的重复行。也就是说,如果两个SELECT语句产生的结果集有重复的行,那么UNION ALL会将它们都选取出来。

以下是MySQL中如何使用UNIONUNION ALL的例子:

假设我们有两个表,表A和表B,它们的结构如下:
表A:

id name
1 Tom
2 Jerry
3 Bob

表B:

id name
1 Tom
4 Alice
5 James

我们可以使用UNIONUNION ALL来结合两个表的结果集:

SELECT id, name FROM tableA
UNION
SELECT id, name FROM tableB

使用UNION的结果集如下:

id name
1 Tom
2 Jerry
3 Bob
4 Alice
5 James

你会看到,虽然表A和表B都有一行数据的name是Tom,但是在结果集中只有一行Tom。

如果我们使用UNION ALL

SELECT id, name FROM tableA
UNION ALL
SELECT id, name FROM tableB

使用UNION ALL的结果集如下:

id name
1 Tom
2 Jerry
3 Bob
1 Tom
4 Alice
5 James

你会看到在结果集中有两行Tom,也就是说UNION ALL没有去除结果集中的重复行。

所以,使用UNION还是UNION ALL取决于你是否需要在结果集中去除重复的行。
(redisson trylock) redisson.tryLock()参数的使用及理解 Redisson Lock 的 tryLock() 方法 全网首发(图文详解1)
(aida64绿色) AIDA64 Extreme Edition(硬件检测工具) v7.00.6700 绿色至尊版 专业硬件检测工具 AIDA64 Extreme Edition 全网首发(图文详解1)

喜欢 (0)
[]
分享 (0)
关于作者:
流水不争先,争的是滔滔不绝