با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن . و کاربرانی که دوره آموزش کامل SQL را دنبال می کنند. در بخش های اخیر ، شما را با عملگرهای مختلفی از دستور WHERE و کاربرد هر یک در SQL، آشنا کردیم. مبحث آشنایی با کاربرد عملگر BETWEEN در SQL نیز، برای آشنایی شما با یکی دیگر از عملگرهای WHERE ، ارائه شده است.
گاهی ممکن است برای شما پیش بیاید، که بخواهید رکوردهایی از جدول را که در بازه ای از مقادیر خاصی قرار دارند را استخراج کنید. SQL عملگر مخصوص این موارد را نیز معرفی کرده است، که در ادامه، شما را بیشتر با این عملگر، آشنا خواهیم کرد.
عملگر BETWEEN مقادیری در یک محدوده مشخص شده، را انتخاب می کند. مقادیر می توانند اعداد، متن یا تاریخ باشند.
عملگر BETWEEN شامل مقادیر شروع و پایان است.
ساختار عملگر BETWEEN:
1 2 3 | SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2; |
جدول زیر ، بخشی از رکوردهای جدول “Products” است. که ما در مثال های این آموزش، از آن استفاده خواهیم کرد:
ProductID | ProductName | SupplierID | CategoryID | Unit | Price |
---|---|---|---|---|---|
۱ | Chais | ۱ | ۱ | ۱۰ boxes x 20 bags | ۱۸ |
۲ | Chang | ۱ | ۱ | ۲۴ – ۱۲ oz bottles | ۱۹ |
۳ | Aniseed Syrup | ۱ | ۲ | ۱۲ – ۵۵۰ ml bottles | ۱۰ |
۴ | Chef Anton’s Cajun Seasoning | ۱ | ۲ | ۴۸ – ۶ oz jars | ۲۲ |
۵ | Chef Anton’s Gumbo Mix | ۱ | ۲ | ۳۶ boxes | ۲۱٫۳۵ |
مثال زیر تمام رکوردهای جدول Products، که فیلد price آنها بین مقادیر ۱۰ و ۲۰ باشد را نمایش می دهد:
1 2 | SELECT * FROM Products WHERE Price BETWEEN 10 AND 20; |
مثال:
نمایش تمام رکوردهای جدول Products، که فیلد price آنها بین مقادیر ۱۰ و ۲۰ نباشد:
1 2 | SELECT * FROM Products WHERE Price NOT BETWEEN 10 AND 20; |
مثال:
نمایش تمام رکوردهای جدول Products، که فیلد price آنها بین مقادیر ۱۰ و ۲۰ باشد و فیلد CategoryID آنها شامل مقادیر ۱,۲,۳ نباشد:
1 2 3 | SELECT * FROM Products WHERE (Price BETWEEN 10 AND 20) AND NOT CategoryID IN (1,2,3); |
مثال:
نمایش تمام رکوردهای جدول Products، که فیلد ProductName آنها، بین مقادیر “Carnarvon Tigers”و “Mozzarella di Giovanni” باشد:
1 2 3 | SELECT * FROM Products WHERE ProductName BETWEEN 'Carnarvon Tigers' AND 'Mozzarella di Giovanni' ORDER BY ProductName; |
مثال زیر، دقیقا بر عکس مثال قبلی، عمل می کند:
1 2 3 | SELECT * FROM Products WHERE ProductName NOT BETWEEN 'Carnarvon Tigers' AND 'Mozzarella di Giovanni' ORDER BY ProductName; |
از جدول زیر که با نام “Orders” ایجاد شده، در مثال بعدی این آموزش، استفاده می کنیم:
OrderID | CustomerID | EmployeeID | OrderDate | ShipperID |
---|---|---|---|---|
۱۰۲۴۸ | ۹۰ | ۵ | ۷/۴/۱۹۹۶ | ۳ |
۱۰۲۴۹ | ۸۱ | ۶ | ۷/۵/۱۹۹۶ | ۱ |
۱۰۲۵۰ | ۳۴ | ۴ | ۷/۸/۱۹۹۶ | ۲ |
۱۰۲۵۱ | ۸۴ | ۳ | ۷/۹/۱۹۹۶ | ۱ |
۱۰۲۵۲ | ۷۶ | ۴ | ۷/۱۰/۱۹۹۶ | ۲ |
مثال:
نمایش تمام رکوردهای جدول Orders که فیلد OrderDate آنها، در بازه ی “۰۴-July-1996” و “۰۹-July-1996” باشد:
1 2 | SELECT * FROM Orders WHERE OrderDate BETWEEN #07/04/1996# AND #07/09/1996#; |
در این آموزش، چگونگی استخراج داده های جداول بانک اطلاعاتی، از یک بازه ی مقادیر مشخص را یاد گرفتید. امیدواریم که در مبحث آشنایی با کاربرد عملگر BETWEEN در SQL ، ساختار و کاربرد عملگر BETWEEN را به خوبی درک کرده باشید.