Mysql技巧 - 两张表根据某唯一字段比对出不相交(多余)的数据

一、test1表数据

二、test2表数据 

三、执行sql后数据 

  SELECT
            test1.id,test1.name,test2.id,test2.name
        FROM
            test1 
                LEFT JOIN
            test2 
            ON test1.id = test2.id
        having test2.id is null

 结论:表1通过与表2的 id 进行对比,会把两张表 id 不相同的数据筛选出来。

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我来简单介绍一下如何使用 sqlalchemy 自动运行 MySQL 数据库进行两张的某一个字段比对,并且如有一致则比中弹屏。 首先,需要安装并配置好 sqlalchemy 和 MySQL 数据库。然后,可以按照以下步骤使用 sqlalchemy 自动运行 MySQL 数据库进行两张的某一个字段比对: 1. 使用 sqlalchemy 创建两张的映射类,定义需要比对字段。 ```python from sqlalchemy import Column, Integer, String, create_engine from sqlalchemy.orm import sessionmaker from sqlalchemy.ext.declarative import declarative_base Base = declarative_base() class Table1(Base): __tablename__ = 'table1' id = Column(Integer, primary_key=True) name = Column(String(50)) age = Column(Integer) class Table2(Base): __tablename__ = 'table2' id = Column(Integer, primary_key=True) name = Column(String(50)) age = Column(Integer) ``` 2. 创建 MySQL 数据库连接和 session。 ```python engine = create_engine('mysql+pymysql://username:password@host:port/database') Session = sessionmaker(bind=engine) session = Session() ``` 3. 查询1和2中需要比对字段。 ```python field = 'name' results1 = session.query(Table1).with_entities(getattr(Table1, field)).all() results2 = session.query(Table2).with_entities(getattr(Table2, field)).all() ``` 4. 将查询结果转化为集合,并计算交集。 ```python set1 = set([result[0] for result in results1]) set2 = set([result[0] for result in results2]) intersection = set1.intersection(set2) ``` 5. 如果交集不为空,则比中弹屏并发声音。 ```python if intersection: print('Match found!') # 弹屏并发声音的代码 ``` 需要注意的是,以上代码仅提供思路,实际使用时需要根据具体情况进行修改和完善。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值