exists与in子查询在数据比较少的时候查询并不会有太大的问题,但是如果数据一旦很大,查询起来那么将会变的非常的慢,甚至会造成查询超时情况的出现
可以这样用表关联去替代exists与in的查询,提高查询的效率
例如:
A表的ID可能会出现在B表的名称为字段IDS中
现在我们需要查询A表的ID在B表的IDS字段的数据
如果用IN 来查询:SELECT * FROM A表 where ID in(select IDS FROM B表)(效率低)
用表连接来查询:SELECT A表.* FROM A表 LEFT OUTER JOIN B表 ON A表.ID=B表.IDS WHERE B表.IDS<>NULL