在Python中使用SQL减号运算符

我想在两个表上执行减号操作,如下面的代码。


SELECT

    column_list_1

FROM

    T1

MINUS 

SELECT

    column_list_2

FROM

    T2;

这是发生迁移之后的情况。我有这两个数据库,我已经这样连接了:


import cx_Oracle

import pandas as pd

import pypyodbc

source = cx_Oracle.connect(user, password, name)

df = pd.read_sql(""" SELECT * from some_table """, source)


target = pypyodbc.connect(blah, blah, db) 

df_2 = pd.read_sql(""" SELECT * from some_table """, target) 

如何使用查询在 python 中对源数据库和目标数据库运行减号操作?


慕慕森
浏览 129回答 2
2回答

白板的微信

选择其中之一:使用 Python 在两个结果集之间执行“手动”减运算。通过 dblink 使用 Oracle。在这种情况下,您不需要从 Python 打开两个连接。

拉莫斯之舞

如果你有一个数据库链接,那么你可以做一个减号,或者你可以使用 Pandas 的合并。df = pd.read_sql(""" SELECT * from some_table """, source)df_2 = pd.read_sql(""" SELECT * from some_table """, target) df_combine = df.merge(df2.drop_duplicates(),how='right', indicator=True)print(df3)df_combine 中将创建一个新列 _merge,其中包含值(数据框中都存在的行)和 right_only(数据框 df 中的行)。以同样的方式,您可以加入左合并。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python