• ADO.NET Entity FrameWork 学习笔记之集合运算符(转载)


    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。

     转自:http://www.cnblogs.com/xiaomi7732/archive/2008/10/13/1310354.html

  • 相关阅读:
    Chrome浏览器扩展开发系列之十四:本地消息机制Native messaging
    Chrome浏览器扩展开发系列之十三:消息传递Message
    Chrome浏览器扩展开发系列之十二:Content Scripts
    Chrome浏览器扩展开发系列之十一:NPAPI插件的使用
    Chrome浏览器扩展开发系列之十:桌面通知Notification
    《转载》使用CSS3 Flexbox布局
    CSS display属性的值及作用
    CSS中的各种居中方法总结
    《转载》详解 CSS 属性
    CSS3中新增的内容
  • 原文地址:https://www.cnblogs.com/johnwonder/p/1675133.html
Copyright © 2020-2023  润新知