not in 语句效率比not exists 效率要低.在对sql执行效率要求比较高的情况下,需要把not in 语句转化为not exists.

有数据表如下图:

现在需要找出在ParentMissionID列中存在但在MissionID列中不存在的数字.

用not in 语句很容易实现:

  1. select p.[ParentMissionID] from
  2. (select [ParentMissionID] FROM [Test].[dbo].[TestMissionParent] where projectId=1) as p
  3. where p.[ParentMissionID] not in (select [MissionID] FROM [Test].[dbo].[TestMissionParent] where projectId=1)

用not exists 语句则为:

  1. SELECT [ParentMissionID]
  2. FROM (SELECT [ParentMissionID]
  3. FROM [Test].[dbo].[TestMissionParent]
  4. where projectID=1) as p where not exists
  5. (select 1 from (select missionId from [Test].[dbo].[TestMissionParent] where projectId=1) as m where m.missionId=p.parentMissionId)

其他情况可以根据这个规律自行改造.

转载于:https://blog.51cto.com/siqiutong/1093097

not in SQL语句转化为 not exists相关推荐

  1. Sql 语句中 IN 和 EXISTS

    原文链接:  (2条消息)Sql 语句中 IN 和 EXISTS 的区别及应用 - jcpp9527的博客 - CSDN博客 https://blog.csdn.net/wqc19920906/art ...

  2. Sql语句中IN和exists的区别及应用

    表展示 首先,查询中涉及到的两个表,一个user和一个order表,具体表的内容如下: user表: order表: in 确定给定的值是否与子查询或列表中的值相匹配.in在查询的时候,首先查询子查询 ...

  3. mysql之sql语句优化

    这篇文章从15个方面,分享了sql优化的一些小技巧,希望对你有所帮助. 1 避免使用select * 很多时候,我们写sql语句时,为了方便,喜欢直接使用select *,一次性查出表中所有列的数据. ...

  4. MySql数据库SQL语句小结

    数据库概述 什么是数据库? 什么是关系型数据库? 数据库相关概念 什么是SQL语言? 连接mysql服务器 数据库及表操作 创建.删除.查看数据库 创建.删除.查看表 新增.更新.删除表记录 查询表记 ...

  5. Druid拦截sql语句,实现在添加一个查询条件

    Druid拦截sql语句,实现在添加一个查询条件 这里就不详细描述原理了. 首先需要重写一下FilterEventAdapter里的connection_prepareStatement方法,然后对s ...

  6. MySQL中非常好用的函数或sql语句(14种)

    1.group_concat 在我们平常的工作中,使用group by进行分组的场景,是非常多的. 比如想统计出用户表中,名称不同的用户的具体名称有哪些? 具体sql如下: select name f ...

  7. mysql创建表sql语句

    直接给出sql语句 DROP TABLE IF EXISTS `test_table_name`; CREATE TABLE `test_table_name` (`id` int(11) NOT N ...

  8. sql exists用法_新同事不讲武德,这SQL语句写得忒野了

    来源 | developer.aliyun.com/article/72501今天来分享几个MySQL常见的SQL错误(不当)用法.我们在作为一个初学者时,很有可能自己在写SQL时也没有注意到这些问题 ...

  9. exists sql用法_干货!SQL性能优化,书写高质量SQL语句

    写SQL语句的时候我们往往关注的是SQL的执行结果,但是是否真的关注了SQL的执行效率,是否注意了SQL的写法规范? 以下的干货分享是在实际开发过程中总结的,希望对大家有所帮助! 1. limit分页 ...

最新文章

  1. 6个超实用的Sudo命令使用技巧
  2. ios 如何在cell中去掉_经典问题:代码中如何去掉烦人的“!=nullquot;判空语句
  3. 【机器视觉】 halcon中图像获取
  4. 190707每日一句,一堂重要的人生之课Let it go, 穷则变变则通
  5. Java Web开发学习手册_Java Web实战开发完全学习手册
  6. ERP原理与应用教程-第一章
  7. 用计算机完成计算win7,算天数转单位Win7计算器能做得更多
  8. 2021-2027全球与中国抽屉五金市场情况与未来趋势研究报告
  9. 如何使用kettle将EXCEL导入数据库
  10. 健脾和胃,养生食疗——山药枸杞鲫鱼汤了解一下
  11. CSUST 2007 我爱吃烧烤 (状压dp)
  12. image-conversion压缩图片
  13. php照片墙,照片墙(CSS3动态效果)
  14. linux开通本地ip连接,SSH 连接本地虚拟机 Linux
  15. Koa2常用的一些中间件
  16. hive安装及整合hbase
  17. 菜鸟的Django+MongoDB搭建简单爬虫显示网站踩坑心得
  18. java 匹配汉字拼音(匹配多音字)
  19. 单片机编程实现用网址域名获取服务器IP,超简单,一句话
  20. 工作小妙招之EXCEL中根据生日日期计算年龄

热门文章

  1. VTK:几何对象之Cube
  2. OpenCV视差图后过滤
  3. OpenGL 本机MSAA的实例
  4. QT的QVarLengthArray类的使用
  5. C++11 - 返回类型后置
  6. css 背景图怎么设置自动填充满_CSS-布局与定位
  7. 张一春教授计算机辅助教学,我校特邀评审专家张一春教授来校做专题讲座
  8. 通过MapReduce统计每个单子在每个文件中出现的次数(FileSplit的使用),单词作为key,所在文本和次数作为value进行统计
  9. 一台电脑上同启动两个Tomcat的方式,windows/Linux配置。
  10. 01_Nginx安装,nginx下部署项目,nginx.conf配置文件修改,相关文件配置