دسته بندی مقالات
- بیشتر -محصولات
- بیشتر -آخرین مقالات
- بیشتر --
کنترل radioButton در سی شارپ
1404/07/07 -
System View در SQL Server
1404/07/07 -
کنترل richTextBox در سی شارپ
1404/07/06 -
کنترل propertyGrid در سی شارپ
1404/07/05 -
Graph Tables در Sql Server
1404/07/04 -
File Tables در Sql Server
1404/07/03
عملگر BETWEEN در SQL

عملگر BETWEEN در SQL
عملگر BETWEEN در SQL برای فیلتر کردن دادههایی که در یک بازه مشخص قرار دارند، استفاده میشود.
این عملگر معمولاً در قسمت WHERE یک کوئری به کار میرود و مقدارهایی را که بین دو مقدار حداقل و حداکثر (شامل هر دو مقدار) قرار دارند، انتخاب میکند.
BETWEEN میتواند برای مقادیر عددی، دادههای متنی و تاریخها استفاده شود.
به عنوان مثال، برای دریافت محصولاتی که قیمت آنها بین 100 تا 500 دلار است، میتوان از کوئری زیر استفاده کرد:
SELECT * FROM Products WHERE Price BETWEEN 100 AND 500;
عملگر BETWEEN باعث خوانایی بیشتر و کاهش پیچیدگی کوئریها میشود، زیرا نیازی به استفاده از چندین شرط AND نیست.
همچنین، برای فیلتر کردن دادههای زمانی نیز بسیار مفید است.
به عنوان مثال، برای نمایش سفارشاتی که در بازه 01 ژانویه 2024 تا 31 ژانویه 2024 ثبت شدهاند، میتوان از کوئری زیر استفاده کرد:
SELECT * FROM Orders WHERE OrderDate BETWEEN '2024-01-01' AND '2024-01-31';
این دستور تمامی سفارشاتی را که در بازه زمانی مشخصشده قرار دارند، نمایش میدهد.
مزایای عملگر BETWEEN در SQL
عملگر BETWEEN یکی از سادهترین و کارآمدترین روشها برای فیلتر کردن دادههایی است که در یک محدوده مشخص قرار دارند.
این عملگر بهخصوص در کار با مقادیر عددی، تاریخها و دادههای متنی کاربرد دارد. در ادامه، مزایای اصلی آن را بررسی میکنیم:
-
سادگی و خوانایی بالا
BETWEEN جایگزین بهتری برای ترکیب چندین شرط AND است و باعث افزایش خوانایی و کاهش پیچیدگی کوئری میشود.
بهجای نوشتن شرطهای طولانی مانند:
SELECT * FROM Products WHERE Price >= 100 AND Price <= 500;
میتوان از کوئری کوتاهتر و خواناتر زیر استفاده کرد:
SELECT * FROM Products WHERE Price BETWEEN 100 AND 500;
این روش باعث کاهش کدهای اضافی و افزایش وضوح کوئری میشود.
-
عملکرد بهینه و کاهش بار پردازشی
در برخی از پایگاههای داده، BETWEEN میتواند بهینهتر از استفاده از دو شرط جداگانه با AND باشد.
این بهینهسازی به نحوه پردازش موتور پایگاه داده بستگی دارد، اما در بسیاری از موارد، اجرای یک شرط BETWEEN سریعتر از دو مقایسه جداگانه است. -
کاربرد در دادههای عددی، متنی و تاریخی
BETWEEN بهصورت گسترده در انواع دادهها قابل استفاده است:-
اعداد
فیلتر کردن محصولات با قیمت مشخص یا نمرات دانشجویان بین دو مقدار مشخص. -
تاریخها
انتخاب دادههایی که در یک بازه تاریخی قرار دارند، مثل فاکتورهای یک ماه خاص. -
دادههای متنی
میتوان برای فیلتر کردن مقادیر الفبایی نیز استفاده کرد (مثلاً انتخاب اسامی بین "A" تا "M").
-
مثال برای انتخاب سفارشات یک ماه خاص:
SELECT * FROM Orders WHERE OrderDate BETWEEN '2024-01-01' AND '2024-01-31';
-
شامل بودن مقادیر ابتدایی و انتهایی (Inclusive)
برخلاف برخی عملگرهای مقایسهای، BETWEEN مقدار حداقل و حداکثر را نیز شامل میشود.
برای مثال، در کوئری زیر سفارشاتی که دقیقاً در تاریخ 2024-01-01 یا 2024-01-31 ثبت شدهاند، نیز در خروجی قرار میگیرند:
SELECT * FROM Orders WHERE OrderDate BETWEEN '2024-01-01' AND '2024-01-31';
در صورت نیاز به خروجی که مقدار نهایی را شامل نشود، میتوان از عملگر < یا > استفاده کرد:
SELECT * FROM Orders WHERE OrderDate >= '2024-01-01' AND OrderDate < '2024-02-01';
-
کاهش خطای انسانی در نوشتن کوئریها
با استفاده از BETWEEN، امکان بروز خطاهای منطقی در ترکیب >= و <= کاهش مییابد، زیرا نیاز به نوشتن دو شرط جداگانه نیست و اشتباهات تایپی یا منطقی در ترکیب شرطها کمتر رخ میدهد.
مثالهای عملی از عملگر BETWEEN
جستجوی دادههای عددی
فرض کنید یک جدول با نام Products داریم که شامل ستون Price است.
میخواهیم تمام محصولاتی را که قیمت آنها بین 10000 و 50000 است، انتخاب کنیم:
SELECT * FROM ProductsWHERE Price BETWEEN 10000 AND 50000;
این دستور تمام محصولاتی را که قیمت آنها در این بازه قرار دارد، نمایش میدهد.
جستجوی دادههای تاریخی
در بسیاری از موارد، نیاز داریم که دادهها را در یک بازه زمانی مشخص فیلتر کنیم.
فرض کنید یک جدول با نام Orders داریم که شامل ستون OrderDate است.
اگر بخواهیم سفارشهایی که بین 2023-01-01 و 2023-12-31 ثبت شدهاند را دریافت کنیم، از دستور زیر استفاده میکنیم:
SELECT * FROM OrdersWHERE OrderDate BETWEEN '2023-01-01' AND '2023-12-31';
جستجوی دادههای رشتهای
عملگر BETWEEN را میتوان برای مقادیر رشتهای نیز استفاده کرد.
مثلاً اگر بخواهیم نامهایی که بین 'A' تا 'M' در حروف الفبا قرار دارند را جستجو کنیم، دستور زیر را اجرا میکنیم:
SELECT * FROM CustomersWHERE LastName BETWEEN 'A' AND 'M';
این دستور تمام مشتریانی که نام خانوادگی آنها با حروف بین A و M شروع میشود را نمایش میدهد.
🌟 آیا میخواهید به یک متخصص پایگاه داده تبدیل شوید و در دنیای فناوری اطلاعات بدرخشید؟
با دوره آموزشی SQL Server ما، شما میتوانید به راحتی و با روشی عملی، تمام مهارتهای لازم را یاد بگیرید!
این دوره به شما آموزش میدهد که چگونه دادهها را به بهترین شکل مدیریت کنید، گزارشهای قدرتمند بسازید و به تحلیلهای عمیق دست یابید.
با محتوای جذاب و پروژههای واقعی، شما نه تنها تئوری را یاد میگیرید، بلکه تواناییهای عملی خود را نیز تقویت میکنید.
پس فرصت را از دست ندهید! همین امروز به جمع یادگیرندگان ما بپیوندید و اولین قدم را به سوی آینده شغلی روشنتر بردارید!
همین حالا شروع کنید و به دنیای دادهها بپیوندید!
نکات مهم در استفاده از عملگر BETWEEN
-
شامل شدن حدود بازه
عملگر BETWEEN مقدارهای حد پایین و بالا را نیز در برمیگیرد. -
استفاده از NOT BETWEEN
اگر بخواهید مقدارهایی که خارج از محدوده مورد نظر هستند را پیدا کنید، میتوانید از NOT BETWEEN استفاده کنید. -
سازگاری با انواع دادهها
این عملگر با انواع دادههای عددی، رشتهای و تاریخی کار میکند. -
کارایی و بهینهسازی
هنگام استفاده از BETWEEN در جداول بزرگ، بهتر است ایندکسهای مناسبی روی ستونهای مورد نظر ایجاد شود تا جستجو سریعتر انجام شود.
پروژه مدیریت فروشگاه با استفاده از عملگر BETWEEN در SQL
شرح پروژه
در این پروژه، یک پایگاه داده برای مدیریت فروشگاه ایجاد میکنیم که شامل اطلاعات محصولات، سفارشات و مشتریان است.
هدف این است که بتوانیم از عملگر BETWEEN برای تحلیل دادهها استفاده کنیم، مثلاً پیدا کردن محصولات در یک محدوده قیمتی خاص، یافتن سفارشهای انجامشده در یک بازه زمانی، و استخراج مشتریانی که نام خانوادگی آنها در یک محدوده حروف خاص قرار دارد.
ساختار پایگاه داده
-
ایجاد جدول محصولات (Products)
CREATE TABLE Products (
ProductID INT PRIMARY KEY AUTO_INCREMENT,
ProductName VARCHAR(100),
Price DECIMAL(10,2),
Category VARCHAR(50)
);
-
ایجاد جدول سفارشات (Orders)
CREATE TABLE Orders (
OrderID INT PRIMARY KEY AUTO_INCREMENT,
CustomerID INT,
OrderDate DATE,
TotalAmount DECIMAL(10,2),
FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID)
);
-
ایجاد جدول مشتریان (Customers)
CREATE TABLE Customers (
CustomerID INT PRIMARY KEY AUTO_INCREMENT,
FirstName VARCHAR(50),
LastName VARCHAR(50),
Email VARCHAR(100)
);
دوره های مرتبط

آموزش پایگاه داده SqlServer
پایگاه داده Sqlserver یکی از پایگاه داده های مهم برای ذخیره اطلاعات محسوب میشود .