SQL里 distinct 和 union 的区别?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL里 distinct 和 union 的区别?相关的知识,希望对你有一定的参考价值。
为什么相同的目的分别用这两个结果却不同? 还是我用错了?谢谢
select distinct和union 都会去掉重复的记录,这点的确是有相似的地方。但是,如果一个表中本来就有重复的记录,你想去除重复的记录,就只能使用select distinct 。
但是如果是想把不只一个表上下合并起来,并去除重复的记录,那么就用union 。
这两个命令使用的用途完全不一样。 参考技术A select distinct和union 都会去掉重复的记录,这点的确是有相似的地方
但是,如果一个表中本来就有重复的记录,你想去除重复的记录,就只能使用select distinct from
tb
但是如果是想把不只一个表上下合并起来,并去除重复的记录,那么就用union
这两个命令使用的用途完全不一样。本回答被提问者采纳 参考技术B union默认是union distinct
使用时应该没有区别,除非你的语句条件有区别 参考技术C 你的sql语句是什麼样的?
sql中,只使用union和先union all再distinct,两种方式哪个效率高?
sql中,只使用union和先union all再distinct,两种方式哪个效率高?
distinct通常不建议使用,效率较低;union all 和union 而言,union all效率更高;原因是:union 相当于多表查询出的数据进行去重然后再进行排序后返回,而union all是多表查询合并去重后就直接返回 参考技术A Distinct可以说是数据查询中最耗时最耗性能的操作了,去重统计是数据查询不可言说的痛,所以不到万不得已不要用,另外,union all 后在distinct的效率如果更高的话,那union存在的意义是什么?所以可想而知,union的效率更高啊 参考技术B 在大数据量的情况下distinct + union all 性能大于 UNION 的性能以上是关于SQL里 distinct 和 union 的区别?的主要内容,如果未能解决你的问题,请参考以下文章