UNION 和 UNION ALL 都能将两条sql的查询结果合并,那么它们在用法上有什么区别呢?
举例如下:
先创建两张表,并在表中添加数据:
t1表:
t3表:
执行sql1:
SELECT * FROM t1
UNION ALL
SELECT * FROM t3
结果如下:
执行sql2:
SELECT * FROM t1
UNION
SELECT * FROM t3
结果如下:
可以看出结果2比1少了一条重复数据,这就是union和union all 的区别;
那么在用法上该如何选择?
如果没有特殊要求,建议使用union all,因为它不会全表扫描剔除重复数据,效率上要快很多。
好的,今天的学习到此结束。