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)

posted @ 2019-02-22 14:54  努力努力再努力zZ  阅读(847)  评论(0编辑  收藏  举报