select d.uid,ifnull(a.level,0) as level,ifnull(b.mileage,0)as mileage,ifnull(c.complaint_cnt,0) as complaint_cnt 
from(select uid from a union select uid from b union select uid from c) as d 
left join a on d.uid=a.uid left join b on d.uid=b.uid left join c on d.uid=c.uid;