如下分享的邮件,在博客园做个记录,以便以后使用。

在这里,其实也想倡导一下程序员要具有的分享精神。鼓励大家多分享,平时有什么新的收获,最好在team里做个分享 。分享也是一种很好的事情。对团队来说,可以形成很好的工作氛围,通过提高每个人的能力进而增强组织战斗力。对个人来说,一来提高了自己的表达能力,二来,别人可能会提出一些疑问,自己通过学习可以掌握更全面更深入的知识。


发件人: ZHANGGUOZHAN
发送时间: 2013-01-10 15:22:02
收件人: zgz1230; guozhan_zhang; 853105539
抄送: jiangjuninfo; GREENSOUL; daizhize; yanwenjing
主题: 分享:有3个集合, 从其中一个集合中删除同时存在于另外两个集合的元素
---- ** 有3个集合, 从其中一个集合中删除同时不在另外两个集合的元素
---- ** 很简单的问题,我却思考良久才得到答案
CREATE TABLE #(id INT)
CREATE TABLE #A(id INT)
CREATE TABLE #B(id INT)INSERT # VALUES(1),(2),(3),(4)
INSERT #A VALUES(1),(3)
INSERT #B VALUES(2),(3)-- ** 从命题我们可知,要删除的集合是{3}-- 先想到了这句sql, 进而知道了如何求解
SELECT * FROM # JOIN #A ON #.id=#A.id JOIN #B ON #.id=#B.id-- 下面语句正确,可以得到我们想要的结果{3}
SELECT * FROM # WHERE  EXISTS(SELECT 1 FROM #a WHERE id=#.id)
AND  EXISTS(SELECT 1 FROM #b WHERE id=#.id)-- PS:下面语句的结果是{4},即同时不在另外两个集合
SELECT * FROM # WHERE NOT EXISTS(SELECT 1 FROM #a WHERE id=#.id)
AND NOT EXISTS(SELECT 1 FROM #b WHERE id=#.id)-- PS:下面语句正确,可以得到排除了同时在另外两个集合的元素后的集合:{1,2,4}
SELECT * FROM # WHERE NOT EXISTS(SELECT 1 FROM #a JOIN #B ON #A.id = #B.id WHERE #A.id=#.id)DROP TABLE #,#A,#B

 

转载于:https://www.cnblogs.com/buguge/archive/2013/01/10/2854962.html

有3个集合, 从其中一个集合中删除同时存在于另外两个集合的元素相关推荐

  1. 搞定“另一个 OleDbParameterCollection 中已包含 OleDbParameter。”的两种办法。

    今天调试程序,遇到一个奇怪的异常. 程序非常简单,就是从一个表中取出一个符合要求的数据,如果取到,就把该数据对应的计数加1. 也就是执行不同的两个SQL语句操作同一个表,并且这两个SQL的参数是一样的 ...

  2. 从一个字符串中删除另一个字符串中出现过的字符

    http://blog.csdn.net/walkerkalr/article/details/39001155 定义一个函数,输入两个字符串,从第一个字符串中删除在第二个中出现过的所偶字符串.例如从 ...

  3. vue+js 从一个数组中删除在另一个数组中已存在对象;

    数组,对象常用的删除方法: 1.根据一个数组元素,删除另一个数组中的对象: var a = [{ id: 15 }, { id: -1 }, { id: 0 }, { id: 3 }, { id: 1 ...

  4. 如何从一个文件中删除另一个文件的重复项

    问题描述:从文件夹A中删除文件夹B的相同内容,即A-B 算法:对文件夹A和B进行扫描,分别得出一个棵树,删除树A中与树B相同的部分 软件缺陷:Fast Duplicate File Finder 2. ...

  5. jq如何删除html标签,javascript – 从一个字符串中删除HTML标签,使用jQuery

    最简单的形式(如果我正确理解): var s = " Hello World! By Mars "; var o = $(s); var text = o.text(); 或者您可 ...

  6. 如何让一个图片和一个文字框居中对齐(如何让两个行内元素居中对齐)

    这种对齐方式有两种情况 图片和文字框中都是居中的,这样看起来也是一种对齐情况,如图所示 解决办法: 文字框设置line-height,然后图片的高度height=文字框line-height,再给图片 ...

  7. ruby 集合 分组_将Ruby中两个集合的所有元素结合在一起

    ruby 集合 分组 In this program, we will see how we can combine the two sets? This is not a very difficul ...

  8. 两个集合相减怎么算_2集合的基本运算

    集合的基本运算 一.教学目标 1 . 知识与技能 ( 1 ) 理解并集和交集的含义,会求两个简单集合的交集与并集 ( 2 ) 能够使用 Venn 图表达两个集合的运算,体会直观图像对抽象概念理解的作用 ...

  9. 快速得到两个集合的并集java_Java 程序计算两个集合的并集

    Java 程序计算两个集合的并集 在此示例中,我们将学习计算Java中两个集合的并集. 要理解此示例,您应该了解以下Java编程主题: 示例1:使用addAll()计算两个集合的并集 示例import ...

最新文章

  1. 10 个深恶痛绝的 Java 异常。。
  2. 四旋翼飞行器旋转矩阵公式推导!
  3. 会议交流 | “数据智能与知识服务”研讨会的专家报告题目已更新!
  4. Linux Ubuntu 16.04系统下可用的Windows应用
  5. C++工作笔记-作用域的巧妙使用,释放堆区创建的资源
  6. 【Python】Python库之数据可视化
  7. pcb只开窗不镀锡_PCB完整加工过程
  8. python中类里self_Python类中的self到底是干啥的
  9. Prometheus Alertmanager报警组件
  10. android实现简单的聊天室
  11. [操作系统] 线程和进程的简单解释
  12. Ionic!用Web技术开发移动应用!
  13. JavaScript:在JS中截取字符串的方法
  14. [CF559C]Gerald and Giant Chess
  15. android ui 开发界面量具 尺子,android尺子的自定义view——RulerView详解
  16. CSP2019滚粗记
  17. 计算机网络协议(三)——UDP、TCP、Socket
  18. 查找中位数(分治策略)
  19. 海子-JVM的内存区域划分
  20. CDA以API为数据源

热门文章

  1. C利用time函数实现简单的定时器
  2. 网页开发中文本编辑器UEditor的使用
  3. git configuration
  4. Oracle函数的定义
  5. 作用域安全的构造函数
  6. Perl Learning (5) —— 输入与输出
  7. Kubernetes Dashboard - 每天5分钟玩转 Docker 容器技术(173)
  8. SQL CROSS JOIN
  9. 火狐浏览器下DIV不能居中的解决办法
  10. 关闭主窗体而不退出主程序 以及如何获取操作系统的关闭、注销信息