`

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

 
阅读更多

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

方法一

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

1 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秒~

1 select A.ID from A left join B on A.ID=B.ID where B.ID is null

  图解

方法三

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

1  select * from  A 
2     where (select count(1) as num from B where A.ID = B.ID) = 0
分享到:
评论

相关推荐

    用一条SQL语句将数据表中某列更新到另一个数据表里

    ### 使用单条SQL语句更新数据表中的某一列至另一表 #### 背景介绍 在数据库管理中,经常需要对数据进行更新操作来确保数据的准确性和时效性。有时候,这种更新不仅限于同一张表内,还可能涉及到跨表的操作。例如,...

    sql-server中复制数据库某一个表到另一个数据库中

    在SQL Server环境中,有时我们需要将一个数据库中的某个表复制到另一个数据库中,这可能是为了备份、数据迁移或创建测试环境等目的。根据提供的标题、描述和部分代码内容,我们可以整理出一套较为完整的操作流程和...

    查询数据库中有数据的表SQL语句

    本文将深入探讨一个特定的SQL查询语句,旨在找出数据库中包含数据的表,即“查询数据库中有数据的表SQL语句”。此查询不仅对数据库管理员(DBA)至关重要,对于任何需要理解和优化数据库结构、性能的IT专业人士也...

    sqlserver中判断表或临时表是否存在

    在 SQL Server 中判断表或临时表是否存在是非常重要的操作,以下将详细介绍如何判断表或临时表是否存在。 判断数据表是否存在 判断数据表是否存在可以使用两种方法。 方法一:使用 object_id 函数 使用 `object_...

    VB判断SQL表是否存在

    这就是在VB中判断SQL数据库中表是否存在的一种方法。这种方法适用于SQL Server,但如果你使用的是其他类型的数据库(如MySQL、Oracle等),查询语法可能会有所不同。对于其他数据库,你需要查阅相应的数据库文档,...

    删除表中重复数据sql语句

    在数据库管理中,重复数据是一个常见的问题,尤其当数据库经历长时间的数据输入时,可能会出现数据录入错误或者批量导入过程中导致的数据冗余。重复数据的存在不仅浪费存储空间,还可能导致数据统计失真以及查询结果...

    查询重复数据sql语句

    在数据库管理过程中,查询重复数据是一项非常重要的任务。这不仅有助于确保数据的准确性和完整性,还可以提高数据分析的质量。本文将详细介绍如何使用SQL语句来查询表中的重复数据,并基于提供的SQL示例进行深入分析...

    SQL Server中关于临时表概念及创建和插入数据等问题

    如果要插入数据到临时表中,需要在同一个连接中执行插入操作,否则将会报错。 在插入数据时,需要注意临时表的生命周期。如果在插入数据时,连接关闭,临时表将被删除,数据将丢失。因此,在插入数据前,需要确保...

    Oracle中对两个数据表交集查询简介

    本文主要探讨如何在Oracle中找到两个数据表的交集,即找出存在于两个表中的共同数据。交集查询对于数据分析和数据比对至关重要,尤其在合并或清理重复数据时。 首先,我们来看使用`INTERSECT`操作符的方法。`...

    用sql语句由excel表往sqlserver数据库表中导数据

    - 在SQL Server数据库中创建一个与Excel数据结构相匹配的目标表。 - 如果目标表已存在,可以跳过此步骤。 #### 二、使用SQL语句进行数据导入 1. **使用`OPENROWSET`函数**: - `OPENROWSET`函数允许您直接从...

    kettle实现SQL关联查询

    这对于分析左表的完整数据集非常有用,即使某些数据在右表中不存在。 RIGHT JOIN,即右连接,与LEFT JOIN相反,返回右表的所有记录,即使左表中没有匹配的记录。在Merge Join Step中,选择RIGHT JOIN模式,所有的右...

    Sql中判断是否存在数据库、表

    在SQL Server中,可以通过查询`master..sysdatabases`视图来判断一个数据库是否存在。下面的SQL语句提供了一个示例: ```sql IF EXISTS ( SELECT 1 FROM master..sysdatabases WHERE name = 'example' ) BEGIN...

    查询和删除表中重复数据sql语句

    标题和描述概述的知识点主要集中在SQL语言中处理表内重复数据的方法上,涵盖了查询与删除重复数据的不同场景。下面将详细解析这些知识点: ### 查询表中重复数据 #### 单字段重复数据查询 ```sql SELECT * FROM ...

    sql列数不固定查询语句

    在SQL查询中,有时会遇到数据表的列数不固定的情况,即数据表中的某些列可能存在或缺失,这通常发生在需要根据不同的条件对数据进行聚合或者分组的场景下。这种情况下,传统的SQL查询语句可能无法直接满足需求,需要...

    HeidiSQL mysql查询工具

    作为一个专业的MySQL管理工具,HeidiSQL提供了多种实用的功能,使得数据库的管理和查询变得更加便捷。 **一、界面与操作** HeidiSQL的用户界面设计直观,对于新手来说非常友好。它允许用户通过简单的拖放操作来...

    SQL进行数据定义查询

    在实验中,学生可能需要创建一个新的表来存储从Excel文件导入的“原始数据”。例如,创建一个名为`PersonalInfo`的表,包含`Region`、`UserType`、`Income`等字段: ```sql CREATE TABLE PersonalInfo ( ID INT ...

    SQLServer数据库表中数据导出成SQL语句工具

    针对这个需求,存在一种名为“SQLServer数据库表中数据导出成SQL语句工具”的实用程序,它能够帮助我们高效地完成这项任务。这个工具通常以MHT(Multi-Part/Related)格式提供,这是一种单一文件Web页面存储格式,...

    Excel数据导入到SQLServer数据库中

    在IT行业中,数据管理和操作是核心任务之一,而Excel与SQL Server之间的数据交互是一个常见的需求。Excel作为一种便捷的数据处理工具,常用于数据整理和分析,而SQL Server则是一个强大的关系型数据库管理系统,适用...

    常用sql多表查询

    在SQL中,多表查询是数据管理中非常重要的一个概念,尤其在大型数据库系统中,数据通常分散在多个表中,需要通过特定的查询方法来整合这些信息。本话题主要探讨了如何进行多表查询,以及触发器和外键的概念。 ...

    SQLServer2000数据查询基础ppt和SQL查询代码

    在IT领域,数据库管理是至关重要的,而SQL Server 2000作为一款经典的关系型数据库管理系统,其在数据查询方面具有丰富的功能。本资料主要围绕"SQL Server 2000数据查询基础"展开,结合PPT讲解和实际查询代码,帮助...

Global site tag (gtag.js) - Google Analytics