天天看點

LINQ基礎—UNION子句

LINQ基礎—UNION子句

一、簡介

Union傳回并集,并集是指位于兩個集合中任一集合的唯一的元素(自動去重複了)。在LINQ中UNION預設是去重的,沒有UNION ALL 語句,不去重用CONCAT()。

二、案例

1.查詢語句寫法

Union會去除重複項,相當于SQL的Union

var q = (from c in db.Customers
         select c.Country
           ).Union(from e in db.Employees
                   select e.Country
           );      

相當于

var q1 = from s in db.Student
                        where s.ID < 3
                        select s;
var q2 = from s in db.Student
                        where s.ID < 5
                        select s;

 //去掉重複的
var q = q1.Union(q2);
var r = q.ToList();//ToList之後,會把資料查出來在記憶體中操作      

如果不去重,用Concat()

//Concat不會去除重複項目,相當于SQL的Union All;
//不去掉重複的 相當于union all,
var q3 = q1.Concat(q2);
var r3 = q3.ToList()      

2.另一種寫法

var q = db.Customers.Union(db.Employees).select(d=>d.Country);      

本文來自部落格園,作者:農碼一生,轉載請注明原文連結:https://www.cnblogs.com/wml-it/p/14839878.html

技術的發展日新月異,随着時間推移,無法保證本部落格所有内容的正确性。如有誤導,請大家見諒,歡迎評論區指正! 個人開源代碼連結: GitHub:

https://github.com/ITMingliang

Gitee:

https://gitee.com/mingliang_it

GitLab:

https://gitlab.com/ITMingliang

進開發學習交流群:
LINQ基礎—UNION子句

繼續閱讀