SQL not exists & not in 区别
in 和not in 是把外表和那表作hash join;
而exists 和 not exists 是对外表作loop,每次loop再对那表进行查询。
所以,in适合内外表都很大的情况,exists适合外表结果集很小的情况。
sql;NOT IN 是什么意思? not EXISTS呢? 有例子么
例:表1 有ID为1,2,3,4,5,6,7,8,9 的9条资料
SELECT * FROM 表1 where id in(2,5,8)
只列出ID为2,5,8 的三条资料
SELECT * FROM 表1 where id not in(2,5,8)
只列出ID为除2,5,8外的所有资料即:1,3,4,6,7,9
EXISTS 是判断是否存在,和in类似,但效率要比in高