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运算符