mybatis中union all与union的用法

1.需求分析

  很多情况下,我们会遇到类似的需求:混合型的列表再进行分类;这种情况,可以考虑java逻辑层面两个甚至更多的list相加,然后最后进行排序,但是一旦进行分页,排序可能就混乱了,这个笔者建议直接在sql里面union all多个结果集,然后对整体进行排序

2.UNION ALL 与UNION的区别

Union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;

Union All:对两个结果集进行并集操作,包括重复行,不进行排序;

union all的效率比union快的多,如果可以确认合并的结果集中不包含重复数据的话,那么就用union all

3.实现方案

sql代码如下

4.使用注意事项

①.所有查询中的列数和列的顺序必须相同;

②.对应项的数据类型必须兼容;

好了,欢迎加入博主技术交流群,群号:313145288



你可能感兴趣的:(mybatis,深入浅出mysql)