join:
var majors=from m in Majors
join t in Teachers
on m.Teacher equals t --不能使用==
where t.Name='小王'
select m;
left outer join:左邊的集合必須返回,哪怕右邊沒有匹配到的(沒有匹配到的以NULL顯示),需要使用DefaultIfEmpty();
var majors=from t in Teachers
join m in Majors
on t equals m.Teacher into mt --mt是IEnumerable<Major>
from result in mt.DefaultIfEmpty() --再次from並調DefaultIfEmpty()方法
select new { teacher=result.Name,major=m?.Name??"沒有課程" }; --null運算符