in
select ID from a where ID in (select ID from b)
exist
select a.ID from a where exist (select * from b where a.ID = b.ID)
联合查询
select a.ID from a ,b where a.ID = b.ID
三种查询方式是互通的,exist 后面的条件语句完全可以放到住查询语句之后,形成联合查询,in 也是 把要查询的内容列出来
有人比较过in 和 exist 的性能 说 in的时间复杂度 为 a.length * b.length ,b表内容多的时候会很费事
exist的时间复杂度为 a.length ,
那这样的话联合查询时间复杂度就是1 了
还以以实际测试的时候,看看那种效率较高,用那种吧