public void Test2() { var queryResult1 = from e in empArray from l in empLevelArray select new { e, l }; var queryResult2 = from e in empArray from l in empLevelArray where e.LevelNum == l.LevelNum select new { e, l }; var queryResult3 = from e in empArray from l in empLevelArray
orderby e.LevelNum,e.Name #進行排序,按照等級和姓名 where e.LevelNum == l.LevelNum select new { e.Name, l.LevelName, l.Salary }; foreach (var item in queryResult1) { Console.WriteLine(item); } }
查詢兩個表中相似的部分,或者取各自的一部分。
聯合查詢同樣會遇到排序和其他的表現形式:
/// <summary> /// 學習Join On 關鍵字 /// </summary> public void Test4() { var queryResult = from e in empArray join l in empLevelArray on e.LevelNum equals l.LevelNum //連接條件 where e.LevelNum > 1 && l.Salary > 10000 select new { e.LevelNum, l.Salary }; foreach (var item in queryResult) { Console.WriteLine(item); } }
/// <summary> /// 學習gruop by 分組 /// </summary> public void Test5() { var queryResult = from e in empArray group e by e.LevelNum into g select new { g.Key, counts = g.Count() }; foreach (var item in queryResult) { Console.WriteLine("級別:"+item.Key+" 個數:"+item.counts); } }