Q.表を結合したい3(非等価結合、やや使う違いない)
 let を使って、選択した行を保持する事により実現できます。
 class 得点表 { public string 氏名 { set; get; } public int 得点 { set; get; } }
 class 評価表 { public int 以上 { set; get; } public int 未満 { set; get; } public string 評価 { set; get; } }
 class 氏名と評価 { public string 氏名 { set; get; } public string 評価 { set; get; } }
 
var tableOrg1 = new 得点表[] {
 new 得点表() { 氏名="Aさん" , 得点=10 },
 new 得点表() { 氏名="Bさん" , 得点=100 },
 new 得点表() { 氏名="Cさん" , 得点=60 },
};
var tableOrg2 = new 評価表[] {
 new 評価表() { 以上=0 , 未満=20, 評価="丙" },
 new 評価表() { 以上=20 , 未満=70, 評価="乙" },
 new 評価表() { 以上=70 , 未満=101, 評価="甲" },
};
var table1 = from row1 in tableOrg1
  let selectLines = from row2 in tableOrg2 where (row2.以上 <= row1.得点 && row1.得点 < row2.未満) select row2
  select new 氏名と評価() { 氏名 = row1.氏名, 評価 = selectLines.First().評価 };
table1 の結果
 Aさん 丙
 Bさん 甲
 Cさん 乙
あんま綺麗じゃない……equalsに対してLINQの拡張求む > Microsoft