.
.
.
.
.
Union 与 Union ALL 的作用都是合并 SELECT 的查询结果集,那么它们有什么不同呢?
Union 将查询到的结果集合并后进行重查,将其中相同的行去除。缺点:效率低;
而Union ALL 则只是合并查询的结果集,并不重新查询,效率高,但是可能会出现冗余数据。
我们举个例子来说明一下:
比如数据库中有两张表 tab1 和 tab2。
tab1 中的数据有:
小王 |
小张 |
tab2 中的数据有:
小王 |
小李 |
执行查询:
1 SELECT * FROM tab1 UNION SELECT * FROM tab2
结果如下:
小王 小张 小李
如果执行如下查询:
1 SELECT * FROM tab1 UNION ALL SELECT * FROM tab2
则结果如下:
小王 小张 小王 小李
这回看出来有什么不同了吧?