SQL IN Operator
در زبان SQL برای فیلتر کردن رکوردها با چند مقدار مشخص، از IN Operator استفاده میکنیم. این عملگر بررسی میکنه که مقدار یک ستون در یک لیست از مقادیر وجود داره یا نه.
🔹 ساختار کلی
عملگر IN
یعنی: اگر مقدار ستون برابر هر کدوم از مقادیر داخل پرانتز بود، اون ردیف انتخاب بشه.
🔹 مثال ساده
جدول: Customers
id | name | city |
---|---|---|
1 | Ali | Tehran |
2 | Sara | Mashhad |
3 | Reza | Isfahan |
4 | Narges | Tabriz |
کوئری:
📌 خروجی:
name | city |
---|---|
Ali | Tehran |
Narges | Tabriz |
توضیح: فقط ردیفهایی که city برابر Tehran یا Tabriz هست انتخاب میشه.
🔹 استفاده از NOT IN
برای پیدا کردن ردیفهایی که برابر هیچکدوم از مقادیر نباشند:
📌 خروجی:
name | city |
---|---|
Sara | Mashhad |
Reza | Isfahan |
🔹 استفاده از Subquery
میتونیم به جای لیست مقادیر، یک زیرکوئری بنویسیم:
اینجا IN
چک میکنه که id هر مشتری داخل نتایج زیرکوئری هست یا نه.
✅ نکات مهم
-
IN
برای لیستهای کوتاه خیلی خواناست و بهتر از چندین شرط OR پشت سر همه. -
اگه لیست خیلی بزرگ باشه، از نظر کارایی ممکنه بهتر باشه به جای IN از JOIN استفاده کنید.
-
NOT IN
در صورت وجود مقدار NULL داخل لیست، ممکنه نتیجه غیرمنتظره بده؛ حتماً دادههای NULL رو مدیریت کنید.