前提:接到一个需求,查询一个东西,但是条件有点多,复杂SQL不好写,所以百度MySQL有没有把两个select语句的结果联合起来的写法,然后找到了这两个关键字。
有一点很关键的是,两个SQL语句查询的列数需要一样。
使用的数据如下所示:
union
联合两个SQL的查询结果,会去除重复部分,举下面的例子:
select * from user where id=1
union
select * from user where id=1;
可以看到最终的结果只有一条。
union all
还是上面的例子再来一次,这次换成union all
select * from user where id=1
union all
select * from user where id=1;
可以看到两条一样的记录,union all没有去重