假设我有一个ID列表,我想看看我的SQL数据库中是否已存在包含这些ID的行。是否有一个SQL命令可以发回以获取尚未在数据库中表示的ID列表的子集?我可以遍历代码中的每个ID,并为每个ID发出单独的SQL检查,但这听起来效率低下。
我正在尝试针对sqlite数据库执行此操作。谢谢!
答案 0 :(得分:3)
将ID放入表中,然后尝试:
SELECT C.id
FROM checkids C
LEFT JOIN mytable M
ON M.id = C.id
WHERE M.id IS NULL
答案 1 :(得分:0)
您可以使用IN运算符;例如,要测试id 1,2,8和42,你需要:
SELECT id FROM tbl WHERE id IN (1, 2, 8, 42);