开发者社区> 问答> 正文

UNION与UNION ALL的区别?

UNION与UNION ALL的区别?

展开
收起
请回答1024 2020-03-31 11:17:53 3692 0
3 条回答
写回答
取消 提交回答
  • 功能上:UNION会去重,UNION ALL不会去重,具体使用哪个要看业务场景 效率上:UNION ALL只会求集合由于不会去重效率高于UNION

    2020-03-31 22:12:01
    赞同 展开评论 打赏
  • Java程序员

    1、UNION用的比较多。

    union all是直接连接,取到得是所有值,记录可能有重复; union 是取唯一值,记录没有重复;

    2、效率

    UNION和UNION ALL关键字都是将两个结果集合并为一个,但这两者从使用和效率上来说都有所不同。 2.1、对重复结果的处理:UNION在进行表链接后会筛选掉重复的记录,Union All不会去除重复记录。 2.2、对排序的处理:Union将会按照字段的顺序进行排序;UNION ALL只是简单的将两个结果合并后就返回。

    从效率上说,UNION ALL要比UNION快很多,所以,如果可以确认合并的两个结果集中不包含重复数据且不需要排序时的话,那么就使用UNION ALL。

    3、排序和去重

    UNION去重且排序 UNION ALL不去重不排序

    2020-03-31 13:03:51
    赞同 展开评论 打赏
    • 如果使用UNION ALL,不会合并重复的记录行
    • 效率 UNION 高于 UNION ALL
    2020-03-31 11:18:01
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载