大厂必考Mysql面试题union all 和 union

Posted 聚数云海

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大厂必考Mysql面试题union all 和 union相关的知识,希望对你有一定的参考价值。

最近领导和小明抱怨,来面试的很多同学连union all 和 union 有什么差异都搞不清楚。实际上,这个知识点是比较简单的,不够在工作中有很多同事一不小心就搞混淆了。

所以小明今天特意和大家分享一下这两个函数的区别。
先说结论,因为union 操作会对结果去重且排序,所以从速度来说, union all会更胜一筹。

建两张表,分别插入几条数据:

大厂必考Mysql面试题union all 和 union

这两张表唯一的不同就是数据中,一个是“王五”,一个是“老六”。


使用union all
可以看出,union all 没有去重,查出了两个“张三”和“李四”;

大厂必考Mysql面试题union all 和 union


使用union


由此可见,“张三”和“李四”被去重了。

然后,我们再来看下两个SQL(也就是union和union all)的性能分析。

大厂必考Mysql面试题union all 和 union


使用union all
通过性能分析可得出,union比union all 多做了操作。由此得结论:
·union去重并排序,union all直接返回合并的结果,不去重也不排序;
·union all比union性能好。


大厂必考Mysql面试题union all 和 union



想要了解更多mysql相关知识,获取相关课程资源,添加老师微信并回复【MySQL资料包】领取更多相关资料!

以上是关于大厂必考Mysql面试题union all 和 union的主要内容,如果未能解决你的问题,请参考以下文章

大厂必考深度学习算法面试题总结

天天肝大厂面试题?这几个面试必考算法你掌握了吗?

5个必考的大厂SQL面试题

2023金三银四1000道java面试必考题(附答案,赶紧收藏)包含所有大厂高频面试知识点

最强Java面试题全部合集,涵盖BAT大厂面试必考的9大技术!-强烈建议收藏

大厂必考:MySQL 分库分表