从sqlite中其他两个表中找不到的表中选择唯一行
我有三个表forward、reverse和probe,它们都包含相同的列Query、QueryLength、Hit、Start、End、Strand、Description、Length、Percent_id、Score和Evalue。 我想从“forward”中获取唯一的行,在“reverse”表或“probe”表中都找不到“Hit”。用“和”我没有得到任何结果,用“或”我只得到相反的比较 将表f创建为“向前选择*”,其中“向前”为“向前选择*”。在“反向选择命中”或“从探头选择命中”中不命中 谢谢你的帮助。当你写。。。或者选择Hit FROM probe,则有一个标量子查询,即数据库只查看子查询返回的第一个值,如果该值不为零,则将其视为“true” 要检查是否在另一个表中找到某个值,必须在两种情况下都使用中:从sqlite中其他两个表中找不到的表中选择唯一行,sqlite,Sqlite,我有三个表forward、reverse和probe,它们都包含相同的列Query、QueryLength、Hit、Start、End、Strand、Description、Length、Percent_id、Score和Evalue。 我想从“forward”中获取唯一的行,在“reverse”表或“probe”表中都找不到“Hit”。用“和”我没有得到任何结果,用“或”我只得到相反的比较 将表f创建为“向前选择*”,其中“向前”为“向前选择*”。在“反向选择命中”或“从探头选择命中”中不命中
SELECT * FROM forward
WHERE Hit NOT IN (SELECT Hit FROM reverse)
AND Hit NOT IN (SELECT Hit FROM probe)
如果要检查整个记录,而不是只检查一列,则可以使用EXCEPT:
SELECT * FROM forward
EXCEPT
SELECT * FROM reverse
EXCEPT
SELECT * FROM probe