zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    MapXtreme实用技巧与源码10例
    在MapXTreme2004中创建自定义工具
    Mapinfo的几个文件的具体含义及内容是什么?
    MapXtreme打包成功的经验
    OCP最新题库收集,新版052考题及答案整理19
    【OCP|052】052考试题库又变了,最新052题库收集整理第15题
    OCP 052新加的考试题收集整理第20道
    【ocp 052又加新题了】052新加的考试题及答案整理第13题
    【OCP052】新版052最新题库及答案整理第14题
    OCP换考题了,052新考题及答案整理第17题
  • 原文地址:https://www.cnblogs.com/johnwonder/p/1675133.html
Copyright © 2011-2022 走看看