Entity Framework之Entity SQL(四) 集合運算子

來源:互聯網
上載者:User

Entity SQL中存在許多集合類型的資料,因此,集合操作在Entity SQL中也比較重要。本文介紹Entity SQL中常用的集合運算子。

閱讀本文前注意,首先約定,這裡的集合可以包含重複元素,而非我們平時所說的不包含重複元素的集合。

  • SET

文法:Set(Colleciton)

說明:我們假定Collection中可以包含重複元素,那麼,Set(Collection)就取出Collection中的非重複的元素。

例如:Set({1,1,3,3,4})將得到結果{1,3,4}。

在Entity SQL中,實體和行是可以比較的。當然,作為使用者,大家不必去關心到底怎麼比——對於實體,主鍵相同則為相同實體;對於行,則要求結構一致;而集合是不可以進行比較的,換句話說:set({{1,2,3},{1,2,3}})是非法的。

 

  • IN

文法:e IN collection

說明:IN運算子返回e是否在collection中。

例如:1 IN {1,2,3}返回TRUE,1 IN {-1,-2,-3}返回FALSE。

 

  • EXISTS    

文法:EXISTS(collection)

說明:判定collection是否為空白,為空白時返回FALSE,否則,返回TRUE。

例如:EXISTS({1})返回TRUE;而EXISTS(SELECT V from {1,2,3} AS V WHERE V=-1)返回FALSE。

 

  • UNION

文法:collectionA UNION [ALL] collection

說明:UNION求兩個集合的並集,並且去除相同的元素;而UNION ALL求兩個集合并集,但是,同時包含重複元素。

例如:{1,2,3} UNION {2,3,4}得到 {1,2,3,4},而{1,2,3} UNION ALL {2,3,4} 得到{1,2,3,2,3,4}。

 

  • INTERSECT

文法:collecitonA INTERSECT collectionB

說明:INTERSECT求兩個集合的交集。

例如:{1,2,3} INTERSECT {2,3}得到{2,3}。注意,交集會去除重複元素。{1,2,2,3} INTERSECT {2,2,3}得到{2,3},而非{2,2,3}

 

  • EXCEPT

文法:collecitonA EXCEPT collecitonB

說明:A EXCEPT B代表:從A集合裡減去B集合的元素。換句話說,就是取得A中有B中沒有的元素。

例如:{1,2,3} EXCEPT {2,3}將得到{1}。

 

  • OVERLAPS

文法:collecitonA OVERLAPS collectionB

說明:A OVERLAPS B將判定A、B集合是否有交集,有則返回TRUE,沒有則返回FALSE。其相當於EXISTS(A INTERSECT B)。

例如:{1,2,3} OVERLAPS {3,4} 返回TRUE,而{1,2,3} OVERLAPS {4,5} 返回FALSE。

 

  • ANYELEMENT

文法:ANYELEMENT(collection)

說明:ANYELEMENT隨機返回集合中的任意一個元素。

例如:ANYELEMENT({1,2,3})有可能返回1,有可能返回2也有可能返回3。

 

小結:

本文走馬觀花,簡單介紹了Entity SQL中的一些集合運算子。這些運算子大家其實都見名知意。 列舉在這兒,方便大家一時想不起來時候查閱。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.