PDA

View Full Version : تفاوت not in و not exist چیست؟



beldria
سه شنبه 11 آذر 1393, 23:54 عصر
سلام

دوستان لطفا با ذکر مثال تفاوت not in , not exist رو در qurey را بمن بگید؟؟؟از زفرنس چیزی متوحه نشدم:متفکر::متفکر:

حمیدرضاصادقیان
چهارشنبه 12 آذر 1393, 12:47 عصر
سلام
در Not In شما یک فیلد رو مشخص میکنید و یک سری مقدار بهش میدید
به طور مثال میخواهید بگید که در فیلد ID شما اعداد 1 تا 5 نباشد بدین شکل مینویسید

select *
from table1
where id not in(1,2,3,4,5)

حالا اون لیست هم میتونه از یک Select دیگه باشه

ولی در not Exists شما یک Correlated Subquery می نویسید و در اونجا اشاره میکنید که کل رکورد با شرط مورد نظر هست یا خیر
مثال

select * from table1
where not exists(select id from table1 as t1
on table1.id=t1.id and t1.id<5)

درمورد سرعت نیز ، سرعت بین In,Exists تفاوتی ندارد ولی در not بهتره از not exists استفاده کنید.

pezhvakco
چهارشنبه 12 آذر 1393, 20:41 عصر
http://stackoverflow.com/questions/24929/difference-between-exists-and-in-in-sql