فهرست سرفصل‌های MySQL
خانه (HOME) مقدمه (Intro) پایگاه داده رابطه ای (RDBMS) SQL (SQL) SELECT (SELECT) WHERE (WHERE) عملگرهای AND, OR, NOT (AND, OR, NOT) مرتب سازی (ORDER BY) افزودن رکورد (INSERT INTO) مقادیر NULL (NULL Values) بروزرسانی (UPDATE) حذف (DELETE) محدودیت تعداد (LIMIT) کمینه و بیشینه (MIN and MAX) COUNT، AVG، SUM (COUNT, AVG, SUM) LIKE (LIKE) کاراکترهای عام (Wildcards) IN (IN) BETWEEN (BETWEEN) نام های مستعار (Aliases) اتصال ها (Joins) INNER JOIN (INNER JOIN) LEFT JOIN (LEFT JOIN) RIGHT JOIN (RIGHT JOIN) CROSS JOIN (CROSS JOIN) خود-اتصالی (Self Join) UNION (UNION) UNION ALL (UNION ALL) گروه بندی (GROUP BY) HAVING (HAVING) EXISTS (EXISTS) ANY و ALL (ANY, ALL) INSERT SELECT (INSERT SELECT) CASE (CASE) توابع Null (Null Functions) کامنت ها (Comments) عملگرها (Operators) ایجاد پایگاه داده (Create DB) حذف پایگاه داده (Drop DB) ایجاد جدول (Create Table) حذف جدول (Drop Table) تغییر جدول (Alter Table) قیود (Constraints) Not Null (Not Null) منحصر به فرد (Unique) کلید اصلی (Primary Key) کلید خارجی (Foreign Key) CHECK (Check) پیش فرض (Default) ایندکس (Create Index) افزایش خودکار (Auto Increment) تاریخ ها (Dates) نماها (Views) انواع داده (Data Types) توابع (MySQL Functions) ASCII (ASCII) CHAR_LENGTH (CHAR_LENGTH) CHARACTER_LENGTH (CHARACTER_LENGTH) CONCAT (CONCAT) CONCAT_WS (CONCAT_WS) FIELD (FIELD) FIND_IN_SET (FIND_IN_SET) FORMAT (FORMAT) INSERT (INSERT) INSTR (INSTR) LCASE (LCASE) LEFT (LEFT) LENGTH (LENGTH) LOCATE (LOCATE) LOWER (LOWER) LPAD (LPAD) LTRIM (LTRIM) MID (MID) POSITION (POSITION) REPEAT (REPEAT) REPLACE (REPLACE) REVERSE (REVERSE) RIGHT (RIGHT) RPAD (RPAD) RTRIM (RTRIM) SPACE (SPACE) STRCMP (STRCMP) SUBSTR (SUBSTR) SUBSTRING (SUBSTRING) SUBSTRING_INDEX (SUBSTRING_INDEX) TRIM (TRIM) UCASE (UCASE) UPPER (UPPER) ABS (ABS) ACOS (ACOS) ASIN (ASIN) ATAN (ATAN) ATAN2 (ATAN2) AVG (AVG) CEIL (CEIL) CEILING (CEILING) COS (COS) COT (COT) COUNT (COUNT) DEGREES (DEGREES) DIV (DIV) EXP (EXP) FLOOR (FLOOR) GREATEST (GREATEST) LEAST (LEAST) LN (LN) LOG (LOG) LOG10 (LOG10) LOG2 (LOG2) MAX (MAX) MIN (MIN) MOD (MOD) PI (PI) POW (POW) POWER (POWER) RADIANS (RADIANS) RAND (RAND) ROUND (ROUND) SIGN (SIGN) SIN (SIN) SQRT (SQRT) SUM (SUM) TAN (TAN) TRUNCATE (TRUNCATE) ADDDATE (ADDDATE) ADDTIME (ADDTIME) CURDATE (CURDATE) CURRENT_DATE (CURRENT_DATE) CURRENT_TIME (CURRENT_TIME) CURRENT_TIMESTAMP (CURRENT_TIMESTAMP) CURTIME (CURTIME) DATE (DATE) DATEDIFF (DATEDIFF) DATE_ADD (DATE_ADD) DATE_FORMAT (DATE_FORMAT) DATE_SUB (DATE_SUB) DAY (DAY) DAYNAME (DAYNAME) DAYOFMONTH (DAYOFMONTH) DAYOFWEEK (DAYOFWEEK) DAYOFYEAR (DAYOFYEAR) EXTRACT (EXTRACT) FROM_DAYS (FROM_DAYS) HOUR (HOUR) LAST_DAY (LAST_DAY) LOCALTIME (LOCALTIME) LOCALTIMESTAMP (LOCALTIMESTAMP) MAKEDATE (MAKEDATE) MAKETIME (MAKETIME) MICROSECOND (MICROSECOND) MINUTE (MINUTE) MONTH (MONTH) MONTHNAME (MONTHNAME) NOW (NOW) PERIOD_ADD (PERIOD_ADD) PERIOD_DIFF (PERIOD_DIFF) QUARTER (QUARTER) SECOND (SECOND) SEC_TO_TIME (SEC_TO_TIME) STR_TO_DATE (STR_TO_DATE) SUBDATE (SUBDATE) SUBTIME (SUBTIME) SYSDATE (SYSDATE) TIME (TIME) TIME_FORMAT (TIME_FORMAT) TIME_TO_SEC (TIME_TO_SEC) TIMEDIFF (TIMEDIFF) TIMESTAMP (TIMESTAMP) TO_DAYS (TO_DAYS) WEEK (WEEK) WEEKDAY (WEEKDAY) WEEKOFYEAR (WEEKOFYEAR) YEAR (YEAR) YEARWEEK (YEARWEEK) BIN (BIN) BINARY (BINARY) CASE (CASE) CAST (CAST) COALESCE (COALESCE) CONNECTION_ID (CONNECTION_ID) CONV (CONV) CONVERT (CONVERT) CURRENT_USER (CURRENT_USER) DATABASE (DATABASE) IF (IF) IFNULL (IFNULL) ISNULL (ISNULL) LAST_INSERT_ID (LAST_INSERT_ID) NULLIF (NULLIF) SESSION_USER (SESSION_USER) SYSTEM_USER (SYSTEM_USER) USER (USER) VERSION (VERSION) مثال ها (MySQL Examples) ویرایشگر (MySQL Editor) آزمون (MySQL Quiz) تمارین (MySQL Exercises) سرفصل (MySQL Syllabus) برنامه مطالعه (MySQL Study Plan) گواهینامه (MySQL Certificate)
نتیجه‌ای برای جستجو یافت نشد.
MySQL

MySQL — ANY و ALL (ANY, ALL)

آخرین بروزرسانی: 1404/08/18

ANY و ALL (ANY, ALL)

«ANY و ALL (ANY, ALL)» برای مقایسه با خروجی یک «ساب کوئری (Subquery)» است. ANY یعنی شرط برای حداقل یک مقدار درست باشد. ALL یعنی شرط برای همه مقادیر درست باشد. مثل امتحان: ANY قبولی با یک پاسخ درست؛ ALL قبولی با همه پاسخ های درست.

اپراتور ANY

ANY یک مقدار بولی می دهد. اگر هر مقدارِ ساب کوئری شرط را پاس کند، نتیجه TRUE می شود.

سینتکس ANY

SELECT column_name(s)
FROM table_name
WHERE column_name operator ANY (
  SELECT column_name
  FROM table_name
  WHERE condition
);

مشاهده در ادیتور

مثال ANY: مقدار برابر با 10

اگر هر سفارش Quantity برابر 10 داشته باشد، نام محصول نمایش می شود.

SELECT ProductName
FROM Products
WHERE ProductID = ANY (
  SELECT ProductID
  FROM OrderDetails
  WHERE Quantity = 10
);

مشاهده در ادیتور

مثال ANY: مقدار بزرگ تر از 99

اگر هر سفارش Quantity بیش از 99 باشد، TRUE می شود.

SELECT ProductName
FROM Products
WHERE ProductID = ANY (
  SELECT ProductID
  FROM OrderDetails
  WHERE Quantity > 99
);

مشاهده در ادیتور

مثال ANY: مقدار بزرگ تر از 1000

اگر هیچ سفارشی Quantity بالای 1000 نداشته باشد، نتیجه FALSE است.

SELECT ProductName
FROM Products
WHERE ProductID = ANY (
  SELECT ProductID
  FROM OrderDetails
  WHERE Quantity > 1000
);

مشاهده در ادیتور

اپراتور ALL

ALL یک مقدار بولی می دهد. فقط وقتی TRUE می شود که همه مقادیرِ ساب کوئری شرط را پاس کنند.

سینتکس ALL با SELECT

SELECT ALL column_name(s)
FROM table_name
WHERE condition;

مشاهده در ادیتور

سینتکس ALL با WHERE/HAVING

SELECT column_name(s)
FROM table_name
WHERE column_name operator ALL (
  SELECT column_name
  FROM table_name
  WHERE condition
);

مشاهده در ادیتور

مثال ALL: همه نام های محصول

SELECT ALL معمولاً مثل SELECT است؛ فقط تأکیدی روی «همه» دارد.

SELECT ALL ProductName
FROM Products
WHERE TRUE;

مشاهده در ادیتور

مثال ALL: همه سفارش ها Quantity برابر 10

اگر حتی یک سفارش مقدار دیگری داشته باشد، نتیجه FALSE می شود.

SELECT ProductName
FROM Products
WHERE ProductID = ALL (
  SELECT ProductID
  FROM OrderDetails
  WHERE Quantity = 10
);

مشاهده در ادیتور

نکته: عملگر باید یکی از عملگرهای مقایسه باشد: =, <>, !=, >, >=, <, <=.

گام های عملی

  1. مسئله را ANY یا ALL تشخیص بده.
  2. ساب کوئری را بنویس و ستون مرتبط را برگردان.
  3. اپراتور مقایسه مناسب را انتخاب کن.
  4. شرط بیرونی را با ANY یا ALL ترکیب کن.
  5. اجرا کن و نتیجه را بررسی کن.

لینک های داخلی مفید

  • EXISTS برای چکِ وجود رکورد.
  • INSERT ... SELECT برای انتقال داده با کوئری.
  • ANY و ALL مرور این صفحه با کلیدواژه تمرکزی.

جمع بندی سریع

  • ANY: درست اگر یک مورد شرط را پاس کند.
  • ALL: درست اگر همه موارد شرط را پاس کنند.
  • با ساب کوئری و عملگر مقایسه می آید.
  • SELECT ALL معمولاً مثل SELECT است.
  • مثال ها را در ادیتور اجرا کن.