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)


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM