Between two tables of similar size, a merge join is the best possible join an optimizer can choose. If you have clustered indexes on the join columns, the optimizer will select merge join.
However, if one of the tables in the join is smaller than the other, the optimizer will choose the nested-loop join. To enable a merge join, make sure the larger input has a clustered index on the join column.