select a.user_name,a.count1,b.count2 from
(select user_name,count(*) count1 from tab1 group by user_name) a join
(select user_name,count(*) count2 from tab2 group by user_name) b on a.user_name=b.user_name
(select user_name,count(*) count1 from tab1 group by user_name) a join
(select user_name,count(*) count2 from tab2 group by user_name) b on a.user_name=b.user_name
from
(select user_name,count(*) count1 from tab1 group by user_name) a ,
(select c.user_name,nvl(b.count2,0,b.count2) as count2
from tab1 c,
(select user_name,count(*) count2
from tab2
group by user_name) b
where c.user_name=b.user_name(+)) a2
where a.user_name=a2.user_name