gpt4 book ai didi

python - SQLITE 数据库表差异

转载 作者:太空宇宙 更新时间:2023-11-03 14:37:36 25 4
gpt4 key购买 nike

我在 SQLITE 数据库中有两个表(表 1 和表 2)。我需要确定表1中的哪些项目不在表2中,然后打印结果。我想我可能有一个工作原型(prototype),但对 SQL 不太熟悉。

import sqlite3

sqlite_file = 'data.db'
conn = sqlite3.connect(sqlite_file)
c = conn.cursor()


c.execute("SELECT PK FROM Table1 WHERE NOT EXISTS(SELECT 1 FROM Table2 WHERE PK = Table1.pk)")
results = list(c)
count = len(results)


print(results)
print(count)
  • 有人可以确认这看起来正确吗?
  • 有更好的方法吗?如果没有,任何帮助将不胜感激

最佳答案

我想你已经快到了

import sqlite3

sqlite_file = 'data.db'
conn = sqlite3.connect(sqlite_file)
c = conn.cursor()

#using a NOT IN is better than the NOT EXISTS
#it gets straight to what you are looking for

c.execute("SELECT col1 FROM Table1 WHERE col1 NOT IN (SELECT col1 FROM Table2)")
results = list(c)
count = len(results)

print(results)
print(count)

正如他们在answer中所说的那样, EXISTS 将告诉您查询是否返回任何结果,因为 IN 用于将一个值与多个值进行比较,并且可以使用文字值。

关于python - SQLITE 数据库表差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46815435/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com