`
piperzero
  • 浏览: 3556286 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

mysql中通过not exists寻找两个表中的差异数据

 
阅读更多
mysql中通过not exists寻找两个表中的差异数据

因为要处理图片介绍表(A表)和图片地址(B表)两张表和中的数据,A表和B表通过字段aid关联,可能是由于导数据的时候,造成A表中的数据比B表中多。现在要给修改好。如下:

A表:

aid title

1 a1

2 a2

3 a3

4 a4

B表:

aid content  

1 test1

2 test2

解决思路:首先查询出B表中不存的数据,然后再相对应的插入到B表就能搞定。

SELECT * FROM A WHERE NOT EXISTS(SELECT 1 FROM B WHERE A.aid = B.aid)

SQL结果是:

aid title

3 a3

4 a4

最后的SQL是:INSERT INTO B (aid) SELECT A.aid FROM A WHERE NOT EXISTS(SELECT 1 FROM B WHERE A.aid = B.aid)



分享到:
评论

相关推荐

    mysql not in、left join、IS NULL、NOT EXISTS 效率问题记录

    MySQL中的`NOT IN`, `LEFT JOIN`, `IS NULL`, 和 `NOT EXISTS` 是四种不同的SQL查询方式,它们在特定情况下可以实现相似的功能,但实际执行效率可能会有很大差异。本文主要探讨这四种方法在处理大数据量时的性能表现...

    mysql exists与not exists实例详解

    MySQL中的`EXISTS`和`NOT EXISTS`是两种常用的子查询操作符,它们在数据库查询中扮演着重要的角色,特别是在处理复杂的数据关联和过滤时。本文将深入探讨这两种操作符的用法、区别以及在实际应用中的性能差异。 ...

    同步两个数据库的数据

    这里的“同步两个数据库的数据”指的是确保两个数据库中的特定表——在这个例子中是“staff”表——保持一致。以下是对这个主题的详细解释: 首先,同步的目的是确保数据的一致性,避免数据丢失或冲突。在这种情况...

    安装mysql出错”A Windows service with the name MySQL already exists.“如何解决

    例如,`NOT EXISTS`在查询不存在于另一表的数据时特别有用,而`LEFT JOIN`结合`ISNULL`则可以找出两个表中不匹配的记录。 总的来说,安装MySQL时遇到的"A Windows service with the name MySQL already exists"的...

    MYSQL IN 与 EXISTS 的优化示例介绍

    在MySQL数据库中,`IN` 和 `EXISTS` 是两种常用的子查询操作符,它们用于在查询中比较一个值或一组值是否存在于另一个查询的结果中。然而,它们在性能上有显著的区别,尤其是在处理大数据集时。理解这些差异并正确...

    两种mysql递归tree查询效率-mysql递归tree

    本文旨在通过对比两种不同的MySQL递归树查询方式,分析它们的效率差异,帮助开发者选择更适合实际应用场景的方法。 #### 二、环境准备 为了确保测试结果的准确性,首先需要对MySQL数据库进行一定的配置调整: 1. ...

    mysql基础教学

    4. **全外连接**:`FULL OUTER JOIN`返回两个表中所有记录,即使没有匹配项也填充NULL值。 通过以上介绍,我们可以看到MySQL的基础知识涵盖了数据库和表的管理、数据的操作以及高级查询等多个方面。熟练掌握这些...

    Oracle和MySQL语句区别.doc

    例如,在Oracle中,可以使用IN、EXISTS、NOT EXISTS等关键字来实现Subquery,而在MySQL中,则使用IN、EXISTS等关键字。 索引 索引是数据库性能优化的重要手段。Oracle和MySQL都支持创建索引,但是它们在创建索引时...

    常用mysql语句实例

    此查询可以用来获取两个表之间的所有相关数据,即使其中一个表中的某些记录在另一个表中找不到匹配项。 ### 5. 时间差过滤 #### SQL语句: ```sql SELECT * FROM table_changjianqian WHERE DATEDIFF(MINUTE, fʼ...

    DTM_mk_MySQL Migration Kit—mysql_wp_oracle2mysql

    - **监控工具**:使用统一的监控工具来管理和监控两个系统的状态。 #### 五、结论 迁移到MySQL不仅可以降低成本,还能提升系统的灵活性和可扩展性。通过精心规划和实施,企业可以顺利完成这一转变。 #### 六、资源...

    人大金仓数据库适配mysql

    - 如果需要计算两个日期或时间的差值,且其中一个或两个是字符串类型,则需要先将其转换为日期类型。 - MySQL中的直接相减方法在KingbaseES中不适用,需要使用 `DATE()` 函数进行转换。 示例: ```sql SELECT DATE...

    SQL查询中in和exists的区别分析

    在这个例子中,如果B表中的记录在A表中已经存在,`NOT EXISTS` 子查询将不会返回任何记录,插入操作就会被跳过。 总的来说,选择 `IN` 还是 `EXISTS` 应根据具体的数据量和业务需求来决定。在涉及大量数据时,通常 ...

    解析mysql left( right ) join使用on与where筛选的差异

    有这样的一个问题mysql查询使用mysql中left(right)join筛选条件在on与where查询出的数据是否有差异。可能只看着两个关键字看不出任何的问题。那我们使用实际的例子来说到底有没有差异。例如存在两张表结构表结构1...

    MySQL中exists关键字和in的区别有那些? SQL语句优化有那些方法? 查询速度很慢应该怎么办?

    在MySQL数据库中,exists和in是两种常用的子查询比较方式,它们在性能上有显著的差异。exists使用方式是检查子查询结果中是否存在匹配的记录,它会根据outer表的记录逐条进行比较,因此outer表的记录越少,exists的...

    20XX全国计算机二级MYSQL考试题库(含答案)借鉴.doc

    4. 数据库启动与管理:在SQL Server中,启动数据库可能需要通过Management Studio,而在MySQL中,可以通过命令行客户端执行`USE`语句来指定当前工作数据库。 5. 数据库创建:在MySQL中,创建数据库的SQL语句是`...

    mysql-a7f24c38342343c09a062606a39637ae.pdf

    - 外键约束(FOREIGN KEY):维护两个表之间参照完整性。 2. **约束操作**: - 创建表时添加约束。 - 修改表约束。 - 主键自动增长(AUTO_INCREMENT)。 3. **三大范式**: - 第一范式:确保字段原子性。 - ...

    greenplum问题及解决方法

    - **问题分析**:当需要更新一个表中的数据,并且更新条件涉及到与另一个表的关联时,必须确保这两个表的关联字段都是分布式字段。 - **解决办法**:可以通过创建临时表的方式进行更新操作。具体步骤如下: - ...

    且将新火试新茶-MySQL Benchmark

    1. **MySQL不同版本间的性能比较**:通过对比不同版本的MySQL数据库,评估其性能差异。 2. **查询缓存的性能测试**:考察MySQL查询缓存机制的实际效果。 3. **MyISAM与InnoDB引擎的性能对比**:这两种存储引擎在不同...

Global site tag (gtag.js) - Google Analytics