首页 > 数据库 >【SQL】查询存在于一个表而不存在于另外一个表的数据

【SQL】查询存在于一个表而不存在于另外一个表的数据

时间:2022-08-14 10:00:24浏览次数:47  
标签:存在 表而 SQL null where ID select

需求描述:A、B两表,找出ID字段中,存在A表,但是不存在B表的数据。

1、方法一(推荐):逻辑相对复杂,但是速度最快 ~执行时间: 0.570秒~

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

2、方法二:使用 left join , “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

 

 

3、方法三:使用 not in ,容易理解,效率低 执行时间为:1.395秒

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

 

标签:存在,表而,SQL,null,where,ID,select
From: https://www.cnblogs.com/gslgb/p/16584860.html

相关文章

  • 数据库与MySQL
    数据库什么是数据?data描述事物的符号记录称为数据,描述事物的符号既可以是数字,也可以是文字、图片,图像、声音、语言等,数据由多种表现形式,它们都可以经过数字化后存入计算......
  • SQL索引
    语法:UNIQUE(DISTINCT):惟一性索引,不允许表中不同的行在索引列上取相同值。若已有相同值存在,则系统给出相关信息,不建此索引。CLUSTERED/NONCLUSTERED:聚集和非聚集索......
  • .NetCore基于SqlSugar的工作单元—UnitOfWork
    .NetCore基于SqlSugar和Aop的工作单元模式(UnitOfWork)实现UnitOfWork是什么UnitOfWork模式,即工作单元,它是一种数据访问模式。它是用来维护一个由已经被业务修改(如......
  • mysql 8.0.28 查询语句执行顺序实测结果
    TL;NRs根据实测结果,MySQL8.0.28中SQL语句的执行顺序为:(8)SELECT(5)DISTINCT<select_list>(1)FROM<left_table>(3)<join_type>JOIN<right......
  • 列式存储的分布式数据库——HBase Shell与SQL实战操作(HBase Master高可用实现)
    目录一、前言二、命令行操作(hbaseshell)1)连接HBase2)创建表(create)3)添加数据(put)4)查询数据(scan)5)获取单行数据(get)6)禁用/启用表(disable/enable)7)清空表(truncate)8)删除表(drop)9)开启......
  • Linux下yum安装mysql 遇到的问题Can't open and lock privilege tables: Table 'mysql
    今天在linux下安装mysql时执行servicemysqldstart时,mysql总是启动失败后来查看mysql日志:/var/log/mysqld.log,发现有个Can'topenandlockprivilegetables:Table'......
  • nosql-mongodb-api使用
    1先添加mongodb->MongoDB.Driver驱动//mongodb只有数据库->集合-》文档//使用连接字符串连接varclient=newMongoClient("mongodb://1......
  • mysql安装
    目录win版5.x及8.xmsi版win版5.x及8.xmsi版基本都是下一步,注意左边从上到下,可能要下载c++依赖库。官方下载地址:https://dev.mysql.com/downloads/installer/1步:2......
  • MySQL-char与 varchar 的区别?
    版权声明:原创作品,谢绝转载!否则将追究法律责任。—————作者:kirin1、共同点:都是字符串类型,最多都只能存10个字符2、不同点:①、char类型是定长数据类型.,对于数据插......
  • MySQL中IN()按照指定列指定规则排序
    现在我有这么一个需求,我需要通过IN(id1,id2,......)查询id字段,并且id字段按照IN()中的顺序排序例如:IN(5,1,2,4)===>查询出来的结果也应该为5,1,2,4#普通写法按照......