The query is like this.
SELECT * FROM
( select 'A1' as a , 'B1' as b from dual union all
select 'A1' as a , 'B2' as b from dual union all
select 'A2' as a , 'B1' as b from dual
) FIRST,
( select 'A1' as a , 'B1' as b from dual union all
select 'A1' as a , 'B2' as b from dual union all
select 'A3' as a , 'B1' as b from dual
) SECOND
WHERE FIRST.A = SECOND.A(+) AND FIRST.B = SECOND.B
The result I am expecting is 3 rows from the table "First". But its returning only 2 rows. Is there any reason?