oracle數(shù)據(jù)庫(kù)里in和exits到底有什么區(qū)別?
表A(小表),表B(大表)
select * from B where cc in (select cc from A) 這個(gè)語(yǔ)句中是先從A表中把cc找出來,然后根據(jù)cc再在B中去找相關(guān)的cc 由于A表的cc遠(yuǎn)小于B表的cc 所以可以節(jié)省時(shí)間 select * from B exists (select cc from A where cc=B.cc)這句話是先從B表里把cc找出來 然后再在A表里找相關(guān)的cc 由于B表的cc遠(yuǎn)多于A表的cc 所以這樣做很浪費(fèi)時(shí)間 總結(jié): 用in 時(shí) 大表在前小表在后 用exists時(shí) 小表在前大表在后