منشور

سلسلة دروس SQL| عامل Between

هذه المقالة جزء من سلسلة دروس SQL، يمكنك الاطلاع على الفهرس

عامل Between في SQl

عامل between ويعني “بين” يحدد القيم الواقعة في مجال معطى، حيث يمكن للقيم أن تكون أرقام أو عبارات نصية أو تواريخ date

إن عامل between شامل، أي أن قيم البداية والنهاية مُضمّنة فيه.

بناء العبارة:

1
2
3
SELECT column_name(s)
FROM table_name
WHERE column_name BETWEEN value1 AND value2;

استعراض قاعدة بيانات

في الأسفل تحديد من جدول المنتجات Products في قاعدة البيانات النموذجية Northwind

ProductID ProductName SupplierID CategoryID Unit Price
1 Chais 1 1 10 boxes x 20 bags 18
2 Chang 1 1 24 - 12 oz bottles 19
3 Aniseed Syrup 1 2 12 - 550 ml bottles 10
4 Chef Anton’s Cajun Seasoning 1 2 48 - 6 oz jars 22
5 Chef Anton’s Gumbo Mix 1 2 36 boxes 21.35

أمثلة على عامل between

عبارة SQL التالية تحدد كل المنتجات products حيث يكون السعر بين 10 و 20

1
2
SELECT * FROM Products
WHERE Price BETWEEN 10 AND 20;

مثال على NOT BETWEEN

استخدم NOT Between لعرض المنتجات خارج المجال المعطى في المثال السابق:

1
2
SELECT * FROM Products
WHERE Price NOT BETWEEN 10 AND 20;

مثال على Between مع IN

عبارة SQL التالية تحدد كل المنتجات بحيث يكون السعر بين 10 و 20 وبالإضافة لذلك لا تُظهر المنتجات الذي لديهم CategoryID ذو القيمة 1 أو 2 أو 3

1
2
3
SELECT * FROM Products
WHERE Price BETWEEN 10 AND 20
AND NOT CategoryID IN (1,2,3);

أمثلة على Between مع قيم نصية

عبارة SQL التالية تحدد كل المنتجات بحيث يكون اسم المنتج بين Carnarvon Tigers و Mozzarella di Giovanni وهذا يعني وفق الترتيب الألفبائي وفقا للحرف الأول فالثاني وماإلى ذلك، أي بعبارة أخرى إذا قمنا بترتيب الاسماء ترتيبا ألفبائيا فستكون القيم الناتجة هي القيم بين الاسمين المعطيين (متضمنة الاسمين المعطيين)

1
2
3
SELECT * FROM Products
WHERE ProductName BETWEEN 'Carnarvon Tigers' AND 'Mozzarella di Giovanni'
ORDER BY ProductName;

أمثلة على Not Between مع قيم نصية

عبارة SQL التالية تحدد كل المنتجات بحيث يكون اسم المنتج ليس بين Carnarvon Tigers و Mozzarella di Giovanni وهذا يعني إذا قمنا بترتيب الاسماء ترتيبا ألفبائيا فستكون القيم الناتجة هي جميع القيم ماعدا القيمتين المعطيتين وما بينهما

1
2
3
SELECT * FROM Products
WHERE ProductName NOT BETWEEN 'Carnarvon Tigers' AND 'Mozzarella di Giovanni'
ORDER BY ProductName;

استعراض جدول

في الأسفل تحديد من جدول الطلبات Orders في قاعدة البيانات النموذجية Northwind

OrderID CustomerID EmployeeID OrderDate ShipperID
10248 90 5 7/4/1996 3
10249 81 6 7/5/1996 1
10250 34 4 7/8/1996 2
10251 84 3 7/9/1996 1
10252 76 4 7/10/1996 2

مثال على between مع التواريخ

عبارة SQL التالية تحدد كل الطلبات orders حيث يكون تاريخ الطلب في عمود OrderDate بين 01-July-1996 و 31-July-1996

1
2
SELECT * FROM Orders
WHERE OrderDate BETWEEN #01/07/1996# AND #31/07/1996#;

أو بطريقة أخرى:

1
2
SELECT * FROM Orders
WHERE OrderDate BETWEEN '1996-07-01' AND '1996-07-31';

التالي: الأسماء المستعارة

هذا المنشور تحت ترخيص CC BY 4.0 بواسطة المؤلف.