union就是把2条或多条的sql结果集垂直并在一起形成一个大集合。
union的字段名是第一个结果集的字段,有且必须满足这几个结果集的列数相同。
注意点:
1、使用union时候完全相同的行将会合并
而 合并是比较耗时的 一般不让union合并
2、则使用 union all 避免合并 提升速度
3、union子句order by 没有意义 要排序就在union得出的结果集中order by。
如题:现有两张表
要求查询结果集为
思路:可以先将两张表合并,然后把id一样的num加起来;
select id,sum(num) from (select * from ta union all select * from tb) as temp group by id;