merge, inner, outer