1
我在SQLITE DB中有兩個表(表1和表2)。我需要確定表1中的哪些項目不在表格2中,然後打印結果。我想我可能有一個工作原型,但對SQL不太熟悉。SQLITE DB表差異
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)
- 有人可以證實,這看起來對嗎?
- 有沒有更好的方法來做到這一點?如果沒有,任何幫助將不勝感激
謝謝!並感謝解釋「不在」與「存在」,現在它是完全合理的。 – grigs
一個簡單的問題,如果我想顯示整行而不是簡單的col1,我該怎麼寫呢? – grigs
hi @grigs,如果你在WHERE條件中使用col1,我會做這樣的事情'SELECT * FROM table1 WHERE col1 NOT IN(SELECT col1 FROM Table2)''。如果要確定它們是數據,而不是專門的列,我會這樣做'SELECT * FROM table1 WHERE NOT EXISTS(SELECT col1 FROM Table2)' –