資料庫中IN 和EXISTS有什麼區別?
- 2022-05-25
沒有什麼區別,兩者都是包含的意思,但是esists的效率比in要高。
建議別用in,影響效率 ,如果只有兩三個條件,就用or代替 ,如果值 比較多,就用exists。
例如
select * from table where ( name = ‘1’ or name =‘2’) 別寫成name in (‘1’,‘2’)
如果資料量比較大
select * from table where name exists (select name from table2);
in 是在你查詢的範圍中 exists 是判斷是否存在
在SQL中,同樣的查詢很多情況下,既可以用in的用法來寫,也可以用exists來寫。
in寫法比exists的寫法要容易讀,好理解,但是當資料量大的時候,exists的效率要遠高於in的寫法。
上一篇:誰有漢書朱買臣傳
下一篇:宋朝包拯時期有哪些官職各幾品