`

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
分享到:
评论

相关推荐

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

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

    VB判断SQL表是否存在

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

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

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

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

    Oracle关系型数据库管理系统是世界上流行的关系数据库,它是一个极其强大、灵活和复杂的系统,本文向大家介绍使用SQL查两个Oracle数据表查询的相同数据的方法。第一种方法:利用操作符intersect,intersect操作符...

    HeidiSQL mysql查询工具

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

    Excel数据导入到SQLServer数据库中

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

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

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

    获取SQL语句多个查询结果表 编程小实例,

    在编程世界中,数据库操作是不可或缺的一部分,尤其是在处理复杂数据逻辑时。本实例将探讨如何在C++.NET环境中,通过编程方式获取SQL语句执行后返回的多个查询结果表。这个话题对于任何需要与数据库进行交互的应用...

    两个表中查询出不同的数据

    在两个表中,如果某条记录在其中一个表存在,但在另一个表中不存在,那么这条记录就是两个表之间的“不同”数据。在SQL中,有几种常见的方法来实现这样的查询: 1. **使用EXCEPT操作符**:在SQL标准中,可以使用...

    SQL数据表提取器

    "SQL数据表提取器"是一个专门用于数据库管理的工具,其功能强大且全面,涵盖了数据库的多种操作,如附加、分离、备份、还原以及数据和表结构的导出。这个工具为IT专业人员提供了便捷的方式来管理和处理SQL数据库,极...

    sqlserver 根据数据表生成excel数据字典

    在这个场景中,我们将探讨如何使用SQL Server结合Excel来创建一个数据字典。 首先,我们需要理解SQL Server中的数据字典是什么。数据字典是存储关于数据库本身信息的特殊系统表或视图,包括但不限于表、视图、索引...

    Oracle中如何用SQL检测字段是否包括中文字符

    有一个同事的数据迁移程序有个问题,没有考虑中文编码字符,由于迁移的表有几千万数据,但是有中文的记录集很少,问我能否找出有中文内容的记录数。首先我想到的是采用检测每个字节ASCII的方式,这样的话需要写一个...

    Sql Server数据库中检查是否存在某张表

    有时候,我们的业务可能会这样要求:某张表是动态的,他要求每隔一段时间(如:一个月)自动生成一张结构相同的新表(如:日志表Log),这是我们要判断数据库中是否存在某张表,如果没有,则新建一张表,否者直接...

    Sql查询分析器

    在数据库管理中,SQL(Structured Query Language)是用于处理关系数据库的标准语言,包括创建、更新、查询和管理数据等任务。SQLServer是微软公司开发的一款企业级数据库管理系统,广泛应用于大型企业及组织,提供...

    第三章SQL数据查询嵌套查询优秀文档.ppt

    在嵌套查询中,一个SELECT-FROM-WHERE语句称为一个查询块,将一个查询块嵌套在另一个查询块的WHERE子句或HAVING短语的条件中的查询称为嵌套查询。 例如,下面是一个嵌套查询的示例: SELECT Sname FROM Student ...

    oracle经典sql多表查询,sql统计

    在这个"Oracle经典SQL多表查询,SQL统计"的主题中,我们将深入探讨如何在Oracle环境中进行复杂的多表查询以及进行各种统计分析。 一、多表查询 1. 内连接(INNER JOIN):内连接返回两个表中存在匹配记录的结果集...

    SQL数据库SQL查询题目

    在描述中提到的"1、查询“001”课程比“002”课程成绩高的所有学生的学号"是一个具体的SQL查询任务,要求找出在"001"课程中得分高于"002"课程的所有学生的学号。 首先,我们需要理解数据库的基本结构。在关系型...

    SQL各种查询方法

    6. **子查询**:在SQL中,一个查询可以嵌套在另一个查询的`WHERE`或`FROM`子句中,这样的查询称为子查询。例如,`SELECT * FROM 表1 WHERE 列1 IN (SELECT 列2 FROM 表2)`。 7. **连接查询**:当需要从两个或更多表...

    C# SQLServer数据表提取器

    在SQL Server中,附加数据库是指将已存在但未在当前服务器实例上注册的.mdf主数据文件和.ldf日志文件连接到实例,从而使数据库成为可用状态。在C#中实现这一功能,通常会涉及到使用`SqlConnection`和`SqlCeEngine`类...

    管家婆辉煌版top+SQL数据字典.doc

    在管家婆辉煌版top+SQL数据字典中,数据库表之间存在着复杂的关系。例如,商品信息库(ptype)与往来单位信息库(btype)之间存在关联关系,都是用于存储商品信息的库,而商品信息库(ptype)又与其他表之间存在关联关系,...

Global site tag (gtag.js) - Google Analytics