sql如何合并2张表




如图,A表、B表是两个记录表,希望用name字段汇总生成结果。(a表含全部的name,b表不一定)

例如,a表有3个a1的记录,b表有1个a1记录,那么结果就是3个a1记录,并且a表的a_time、a_count可填充3行,而b表由于只有1个a1记录,故b_seal、b_num只能填充1行,剩下2行用null填充。


还是那个问题,左表e5有两条记录,右表e5有三条记录,这个null的问题怎么合并?

没那么麻烦, 外连接了解一下 把A表当主表即可

左连接,a为主变

full join

Select name,a_time,a_count,b_seal ,b_num from A outer join B using(name);应该是这样

select A.name,a_time,a_count,b_seal ,b_num

from A

full outer join B

on

A.name=B.name

记住MySQL不支持full outer join 上面针对sqlserver

楼上做的对吗?

Select * from A left join B on A.name=B.name