2010-08-01 72 views
3

假設我有一個ID列表,並且想查看在我的SQL數據庫中這些ID是否已經存在行。是否有可以發出的單個SQL命令來找回尚未在數據庫中表示的ID列表的子集?我可以遍歷代碼中的每個ID,併爲每個ID分別發出一個SQL檢查,但這聽起來效率不高。SQL:檢查看看哪個ID已經存在

我想對sqlite數據庫做到這一點。謝謝!

回答

3

刪除該ID添加到一個表,然後嘗試:

SELECT C.id 
FROM checkids C 
LEFT JOIN mytable M 
ON M.id = C.id 
WHERE M.id IS NULL 
0

你可以使用IN操作符;例如,測試ids 1,2,8和42,你會這樣做:

SELECT id 
FROM tbl 
WHERE id IN (1, 2, 8, 42);