sql当中NOT IN和IN,exists与not exists的区别
1、EXISTS=IN,意思差不多相同,但是语法上有一点不同,好像使用IN效率要差点,应该是不会执行索引的原因
1 SELECT ID,NAME FROM A WHERE ID IN (SELECT AID FROM B WHERE A.ID=B.AID)
2 SELECT ID,NAME FROM A where exists (SELECT*FROM B WHERE A.ID=B.AID)
2、NOTEXISTS=NOTIN ,意思相同不过语法上有点点区别
1 SELECT ID,NAME FROM A WHERE ID NOT IN (SELECT AID FROM B WHERE A.ID=B.AID)
2 SELECT ID,NAME FROM A WHERE NOT exists (SELECT * FROM B WHERE A.ID=B.AID)
一个对数据库感兴趣的小白