A、B两表,找出ID字段中,存在A表,但是不存在B表的数据。A表总共13w数据,去重后大约3W条数据,B表有2W条数据,且B表的ID字段有索引。

方法一

  使用 not in ,容易理解,效率低  ~执行时间为:1.395秒~

select distinct A.ID from  A  where A.ID not in (select ID from B)

方法二

  使用 left join...on... , "B.ID isnull" 表示左连接之后在B.ID 字段为 null的记录  ~执行时间:0.739秒~

select A.ID from A left join B on A.ID=B.ID where B.ID is null
A left join B on A.ID=B.ID //只有left join再加上on关联,才是left join

图解

方法三

  逻辑相对复杂,但是速度最快  ~执行时间: 0.570秒~

select * from  B
where (select count(1) as num from A where A.ID = B.ID) = 0

https://blog.csdn.net/u012732259/article/details/42215119/

MYSQL查询~ 存在一个表而不在另一个表中的数据的更多相关文章

  1. SQL存在一个表而不在另一个表中的数据, 更新字段为随机时间

    --更新字段为随机时间 86400秒=1天 UPDATE dl_robot ), ,GETDATE()) )   SQL存在一个表而不在另一个表中的数据   方法一 使用 not in ,容易理解,效 ...

  2. Mysql 查询天、周,月,季度、年的数据

    Mysql 查询天.周,月,季度.年的数据 今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天 SELECT * FROM 表名 ...

  3. SQL查询~ 存在一个表而不在另一个表中的数据

    A.B两表,找出ID字段中,存在A表,但是不存在B表的数据.A表总共13w数据,去重后大约3W条数据,B表有2W条数据,且B表的ID字段有索引. 方法一 使用 not in ,容易理解,效率低  ~执 ...

  4. sql存在一个表而不在另一个表中的数据

    (转)A.B两表,找出ID字段中,存在A表,但是不存在B表的数据.A表总共13w数据,去重后大约3W条数据,B表有2W条数据,且B表的ID字段有索引. 方法一 使用 not in ,容易理解,效率低  ...

  5. SQL 存在一个表而不在另一个表中的数据

    原文链接:http://blog.csdn.net/windren06/article/details/8188136 (转)A.B两表,找出ID字段中,存在A表,但是不存在B表的数据.A表总共13w ...

  6. MySQL查询今天/昨天/本周、上周、本月、上个月份数据的sql代码

    MySQL查询本周.上周.本月.上个月份数据的sql代码 作者: 字体:[增加 减小] 类型:转载 时间:2012-11-29我要评论 MySQL查询的方式很多,下面为您介绍的MySQL查询实现的是查 ...

  7. SqlServer一张表数据导入另一张表,收藏使用,工作中更新数据错误很有用

    sql一张表数据导入另一张表   1.如果2张表的字段一致,并且希望插入全部数据,可以用这种方法:   INSERT INTO 目标表 SELECT * FROM 来源表;   2.比如要将 arti ...

  8. MySQL查询在一个表而不在另一个表中的数据

    1.使用not in,容易理解,效率低 select distinct A.ID from A where A.ID not in (select ID from B) 2.使用left join.. ...

  9. SQL语句技巧:查询存在一个表而不在另一个表中的数据记录

    方法一(仅适用单个字段)使用 not in ,容易理解,效率低 select A.ID from A where A.ID not in (select ID from B) 方法二(适用多个字段匹配 ...

随机推荐

  1. 机器视觉 之 Gabor Feature

    在机器视觉中,gabor feature是一种比较常见的特征,因为其可以很好地模拟人类的视觉冲击响应而被广泛应用于图像处理, gabor feature 一般是通过对图像与gabor filter做卷 ...

  2. js将时间转换为时间戳

    转自http://zhidao.baidu.com/link?url=jwmRLUKIC92fNeS1l8PuZltmZIN--LJFtKd9G6SYEjFfCu_pFGyXsh54txzv22E0g ...

  3. bzoj1055玩具取名——区间DP

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1055 区间DP,注意初始化!! 因为没记忆化,TLE了一晚上,区间DP尤其要注意不重复递归! ...

  4. arm裸机程序启动流程

    arm裸机程序启动流程 1373 Linux系统的引导: 一个SOC拿过来,它是有内部BROM和SRAM的,这个BROM中会固化芯片厂商的最初引导代码,我们叫它RBL(ROM boot loader) ...

  5. Lagom学习 五 Hello world工程

    用Maven创建一个Hello world的Lagom工程: 1: 在想创建工程的目下下,打开CMD 2:  mvn archetype:generate -Dfilter=com.lightbend ...

  6. [MTC3]Cracking SHA1-Hashed Passwords

    题目地址:https://www.mysterytwisterc3.org/en/challenges/level-ii/cracking-sha1-hashed-passwords 解题关键:根据键 ...

  7. Promise API

    Promise API     刚刚接触promise这个东西,网上看了很多博客,大部分是讲怎么用Promise,丝毫没提怎么实现Promise. 我不甘 心,可是真去看JQuery或者Angular ...

  8. 永恒之蓝(EternalBlue)MS17-010

    附加知识: 漏洞来源与背景: 这个漏洞最初是由NSA(美国国家安全局)发现的,但是他们发现漏洞他不讲,然后遭殃了吧. 后来 有一个黑客组织叫:Shadow Brokers (影子经纪人) 入侵了NSA ...

  9. 扩展thinkphp5的redis类方法

    笔者在开发时发现,thinkphp5的自带redis类方法,只有简单的读取缓存.写入缓存的基本方法,远不能满足我们业务的需求.redis本身支持五种数据类型,string(字符串).hash(哈希). ...

  10. EIP权限工作流升级说明-2019/5/23

    增加mysql版本在线预览地址:http://www.eipflow.com:3000/