ALL (ALL)
کلیدواژه ALL یعنی «همه»؛ اگر همه مقادیر زیرکوئری شرط را پاس کنند، نتیجه True می شود. زیرکوئری (Subquery) یعنی یک SELECT داخل عبارت دیگر؛ مثل جایزه مرحله مخفی در بازی.
ALL چه کار می کند؟
با ALL می گویی: مقدار من باید از همه خروجی های زیرکوئری عبور کند. اگر حتی یکی نخورد، نتیجه رد می شود. این با ANY فرق دارد؛ ANY فقط یکی را می خواهد.
نمونه منبع
SELECT ProductName
FROM Products
WHERE ProductID = ALL (
SELECT ProductID
FROM OrderDetails
WHERE Quantity = 10
);
گام های عملی
- یک SELECT اصلی با WHERE بنویس.
- داخل WHERE از ALL و پرانتز استفاده کن.
- زیرکوئری را طوری بنویس که لیست مقادیر بدهد.
نکته: اگر منطق «همه» لازم نیست، به ANY یا IN فکر کن. همچنین فهرست کامل واژه ها در کلیدواژه ها است.
هشدار: زیرکوئری بزرگ کند می شود؛ حتماً روی ستون های مرتبط ایندکس بگذار.
جمع بندی سریع
- ALL یعنی شرط برای همه برقرار باشد.
- ANY یعنی یکی کافی است.
- IN برای مقادیر مشخص ساده تر است.
- زیرکوئری ها را بهینه و ایندکس دار کن.