سلسلة دروس SQL| عامل Between
هذه المقالة جزء من سلسلة دروس SQL، يمكنك الاطلاع على الفهرس
- عامل Between في SQl
- استعراض قاعدة بيانات
- أمثلة على عامل between
- مثال على NOT BETWEEN
- مثال على Between مع IN
- أمثلة على Between مع قيم نصية
- أمثلة على Not Between مع قيم نصية
- استعراض جدول
- مثال على between مع التواريخ
عامل 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';
التالي: الأسماء المستعارة