inner, outer and left outer joins