عملگر های ANY و ALL در SQL ANY and ALL Operators – SQL

بازدید: 855 بازدید
عملگرهای ANY و ALL
[cdb_box_content]

با سلام خدمت همراهان همیشگی وب سایت پرنیان طرح

با یکی دیگر از مقالات آموزش SQL در خدمت شما عزیزان هستیم.

می توانید برای مطالعه بیشتر در مورد SQL  به این لینک در وب سایت پرنیان طرح مراجعه کنید.

در آموزش امروز قصد داریم در مورد عملگر های ANY  و ALL،در زبان برنامه نویسی SQL صحبت کنیم.

همچنین نحوه استفاده کردن از این عملگر ها در این زبان را نیز مرور و با هم تمرین خواهیم کرد.

در ادامه آموزش همراه ما باشید.

[/cdb_box_content]
[cdb_box_content]

مقدمه


عملگر های ANY و  ALL با یک بند WHERE یا HAVING استفاده می شوند.

عملگر ANY ، دارای نتیجه TRUE خواهد بود ، اگر  هر یک از مقادیر فرعی در شرط TRUE باشند.

عملگر ALL ، دارای نتیجه TRUE خواهد بود ، اگر  همه مقادیر فرعی در شرط TRUE باشند.

شکل نحوی عملگر ANY  به شکل زیر می باشد:

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

 

شکل نحوی عملگر ALL به شکل زیر می باشد:

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

[/cdb_box_content]
[cdb_box_content]

توجه!

عملگر مورد استفاده برای این شرط ها، باید یک عملگر مقایسه استاندارد مانند (= ، <> ،! = ،> ،> = ، <، یا <=) باشد.

[/cdb_box_content]
[cdb_box_content]

دیتابیس نمونه

توجه ! همانند آموزش های قبل، در تمامی مثال های این آموزش از پایگاه داده Northwind  به عنوان مرجع استفاده شده است.

در این آموزش گزیده هایی از جداول “Products” و “OrderDetails” به عنوان نمونه انتخاب شده اند.

و دستورات مثال در این آموزش برای این دو جدول نوشته شده اند.

 

 

مثال هایی از عملگر ANY

اگر هر یک از هر یک از مقادیر فرعی موجود در شرط ، مقدار TRUE داشته باشد(یا بگیرد) نتیجه نهایی عملگر ANY، برابر با TURE خواهد شد.

دستور SQL زیر مقدار TRUE را به عنوان نتیجه بازمی گرداند.

و در صورت یافتن هر رکوردی از جدول OrderDetails که مقدار ستون quantity در آن برابر با 10 باشد(quantity = 10)، نام آن محصولات را لیست خواهد کرد.

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

می توانید از این لینک برای مشاهده و تمرین نتیجه کد بالا استفاده کنید.

 

 

مثال دوم

دستور SQL زیر مقدار TRUE را به عنوان نتیجه بازمی گرداند.

و در صورت یافتن هر رکوردی از جدول OrderDetails که مقدار ستون quantity در آن کمتر از 99 باشد(99 < quantity )، نام آن محصولات را لیست خواهد کرد.

این دستور ، دارای طبقه بندی بالا به پایین  می باشد.

و فقط شامل کشورهایی با بیش از 5 مشتری می باشد.

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

می توانید از این لینک برای مشاهده و تمرین نتیجه کد بالا استفاده کنید.

[/cdb_box_content]
[cdb_box_content]

مثال از عملگر ALL

اگر همه مقادیر فرعی موجود در شرط ، مقدار TRUE داشته باشند(یا بگیرند) نتیجه نهایی عملگر ALL، برابر با TURE خواهد شد.

دستور SQL زیر مقدار TRUE را به عنوان نتیجه بازمی گرداند.

و در صورت تشخیص اینکه تمام رکوردهای جدول OrderDetails در ستون quantity دارای مقدار  10 باشند(quantity = 10)، نام آن محصولات را لیست خواهد کرد.

به سادگی می توان پیش بینی کرد که این دستور مقدار FALSE را باز خواهد گرداند. زیرا همه رکوردها در جدول OrderDetails ،مقدار quantity = 10 ندارند

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

می توانید از این لینک برای مشاهده و تمرین نتیجه کد بالا استفاده کنید.

[/cdb_box_content]
[cdb_box_content]

اگر این مطلب برای شما مفید بود، ما را در گوگل ستاره باران کنید.

ترجمه و ارائه : رویا نجفی

منبع : وب سایت w3schools

[/cdb_box_content]
دسته بندی آموزش MY SQL
اشتراک گذاری
مقالات مرتبط

دیدگاهتان را بنویسید

سبد خرید

هیچ محصولی در سبد خرید نیست.