IN (IN)
اینجا با «عملگر IN» آشنا می شوی. «IN» یعنی بررسی عضویت. ساده بگویم: ببین مقدار، داخل یک فهرست هست یا نه. این مثل انتخاب چند پاسخ مجاز در یک آزمون است.
عملگر IN چیست؟
«عملگر (Operator)» یعنی نشانه انجام یک عمل. «IN» نسخه کوتاه چندین OR است. بنابراین کدت کوتاه تر و خواناتر می شود. مثل انتخاب شهر از چند گزینه آماده.
مثال 1: عضویت در یک فهرست ثابت
SELECT *
FROM Customers
WHERE Country IN ('Germany', 'France', 'UK');
مثال 2: NOT IN؛ نبودن در فهرست
SELECT *
FROM Customers
WHERE Country NOT IN ('Germany', 'France', 'UK');
مثال 3: IN با زیرپرس وجو (Subquery)
«زیرپرس وجو (Subquery)» یعنی یک SELECT داخل شرط. فهرست پویا می سازد.
SELECT *
FROM Customers
WHERE Country IN (SELECT Country FROM Suppliers);
نکته: IN روی مقادیر NULL حساس است. اگر زیرپرس وجو NULL بدهد، نتیجه می تواند نامشخص شود. بهتر است NULLها را حذف کنی.
هشدار: فهرست های خیلی بزرگ در IN ممکن است کند شوند. برای فهرست های عظیم، از جدول موقت یا JOIN کمک بگیر.
گام های عملی استفاده از IN
- ستون های لازم را با SELECT انتخاب کن.
- FROM را برای جدول بنویس.
- شرط را با WHERE بگذار.
- مقادیر مجاز را با IN تعیین کن.
- در صورت نیاز، NOT IN را جایگزین کن.
پیوندهای مرتبط
راهنمای عملگر IN همیشه در دسترس است. همچنین تفاوتش با WHERE را ببین. برای فیلتر گروه ها هم HAVING را مرور کن.
جمع بندی سریع
- IN برابر چند OR کوتاه است.
- NOT IN برعکس IN عمل می کند.
- زیرپرس وجو، فهرست پویا می سازد.
- حواست به NULL و کارایی باشد.