資料庫中IN 和EXISTS有什麼區別?

  • 作者:由 無名指の等待 發表于 歷史
  • 2022-05-25

資料庫中IN 和EXISTS有什麼區別?2010.10.23 00:00 回答

沒有什麼區別,兩者都是包含的意思,但是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有什麼區別?2010.10.22 00:00 回答

in 是在你查詢的範圍中 exists 是判斷是否存在

資料庫中IN 和EXISTS有什麼區別?2010.10.22 00:00 回答

在SQL中,同樣的查詢很多情況下,既可以用in的用法來寫,也可以用exists來寫。

in寫法比exists的寫法要容易讀,好理解,但是當資料量大的時候,exists的效率要遠高於in的寫法。

Top