union查询就是把2条或多条sql的查询结果合并成1个结果集
sql1 N行
sql2 M行
sql1 union sql2 N+M行
场景:2条语句 各自的where条件非常复杂 可以简化成简单条件 再union
union的语句必须满足一个条件 即各语句取出的列数相同
union all 可以避免union的合并
简单例子
两表的union
1、先取出两表
2、取出两表id
3、union两表的id
另一个例子
1、建立了表a和表b,取出
2、union
3、避免union的合并,用union all可避免合并
讨论:union的子句中,不用写order by
sql合并后得到的总的结果 可以用order by
但子句的order by失去意义
order by可用于最后union完进行排序