沃梦达 / IT编程 / 数据库 / 正文

mysql中union和union all的使用及注意事项

目录1.sql中union和unionall的用法2.注意事项2.1、UNION和UNIONALL内部的SELECT语句必须拥有相同数量的列2.2、每条SELECT语句中...

<select id="queryRatingInfo" resultType="***">
        <foreach collection="ratingList" item="item" index="index" open="" separator="UNION ALL" close="">
            SELECT ***, ***, ***, ***, ***
            FROM e_rating_info
            WHERE rating_quantity &lt;&gt; 0
            AND country_code = #{item.***}
            AND asin = #{item.***}
        </foreach>
        ORDER BY *** DESC;
    </select>

另外,如果系统中进行了分表,一定要保证各个表的字段顺序一致。特别是修改的时候。否则,如果使用 *汇总查询结果,肯定是会有问题的…亲身踩坑。

补充:mysql中union和union all的区别

一、区别1:取结果的交集

1、union: 对两个结果集进行并集操作, 不包括重复行,相当于distinct, 同时进行默认规则的排序;

2、union all: 对两个结果集进行并集操作, 包括重复行, 即所有的结果全部显示, 不管是不是重复;

二、区别2:获取结果后的操作

1、union: 会对获取的结果进行排序操作

2、union all: 不会对获取的结果进行排序操作

三、区别3:

1、union看到结果中ID=3的只有一条

select * from student2 where id < 4
union
select * from student2 where id > 2 and id < 6

2、union all 结果中ID=3的结果有两个

select * from student2 where id < 4
union all
select * from student2 where id > 2 and id < 6

总结

到此这篇关于mysql中union和union all的使用及注意事项的文章就介绍到这了,更多相关mysql union和union all内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

本文标题为:mysql中union和union all的使用及注意事项