that is how joins work. its the product of the two tables, then filtered by the where cause. without a where cause if you join table a and b, for every row in a, get every row in b.
create table #a (value int)
create table #b (value int)
insert #a values(1)
insert #a values(2)
insert #a values(3)
insert #b values(4)
insert #b values(5)
insert #b values(6)
select *
from #a,#b
order by 1,2
>>>
value value
1 4
1 5
1 6
2 4
2 5
2 6
3 4
3 5
3 6
note: an on clause is really a where