دستور Between در SQL – از کاربرد تا نحوه استفاده به زبان ساده
- میآموزید چگونه با BETWEEN دادهها را در محدوده دلخواه فیلتر کنید.
- روش صحیح نوشتن کوئری BETWEEN و کاربرد آن در WHERE را یاد میگیرید.
- با مثالهای عملی، BETWEEN را روی داده عددی، متنی و تاریخی بهکار میبرید.
- میآموزید چگونه BETWEEN را با عملگرهایی مثل IN و NOT ترکیب کنید.
- با تفاوت انواع بانکهای SQL و مسیر انتخاب منابع آموزشی تخصصی آشنا میشوید.
- خواهید توانست از دورهها و آموزشهای ویدئویی معتبر برای یادگیری SQL بهره ببرید.

دستور BETWEEN در SQL چیست؟
از عملگر BETWEEN میتوان برای انتخاب ردیفهایی استفاده کرد که درون محدوده خاصی قرار دارند. از آنجا که این دستور، شامل مقادیر مساوی با نقاط شروع و پایان محدوده نیز در ردیفها است، نوعی دستور فراگیر محسوب میشود. از دستور BETWEEN برای فیلتر کردن دادههای از نوع متن، عدد و تاریخ استفاده میشود.
- column1, column2, ... نمایانگر ستونهایی هستند که باید دادههایشان را در جدول فیلتر شده نمایش دهیم.
- table نام جدولی است که عملیات بر روی دادههای آن انجام میشود.
- column نام ستون خاصی است که باید محدوده خاصی از مقادیر را درون آن مشخص کنیم. عملیات فیلترکردن را بر روی دادههای این ستون انجام میدهیم.
- BETWEEN کلمه کلیدی است که برای مشخص کردن محدوده مقادیر موجود در ستون بهکار میبریم.
- value1 و value2 نماینده حدهای پایین و بالای محدوده هستند.

در چه مواردی باید از دستور BETWEEN در SQL استفاده کرد؟
در این بخش موارد کاربرد دستور BETWEEN در SQL را بررسی میکنیم. موقعیتها و مشکلات زیادی وجود دارند که با استفاده از دستور BETWEEN میتوانیم به سادگی مدیریتشان کنیم. چند مورد از این موارد را در پایین فهرست کردهایم.
- واکشی دادههای درون محدوده زمانی خاص: وقتی که نیاز به انتخاب دادههای درون محدوده زمانی خاصی داریم، مثلا دادههای درون تاریخهای مشخصی -تاریخ شروع و پایان مشخص- را در نظر گرفتهایم. دستور BETWEEN گزینه بسیارخوبی برای استخراج دادههای مورد نیاز است. برای مثال، نیاز به استخراج دادههای همه نقل و انتقالات مالی بین اول فوریه تا ۱۵ مارس داریم. اینجور مسائل در اپلیکیشن اقتصادی میزبان پایگاه داده رخ میدهد.
- گرفتن دادههای درون محدوده عددی خاص: با کمک دستور BETWEEN میتوانیم دادههای درون محدوده عددی خاصی را با نقاط شروع و پایان مشخص بدست بیاوریم. به عنوان مثال، یکی از کاربردهای مناسب این دستور میتواند واکشی اطلاعات کالاهای درون انبار فروشگاه است. به شرطی که تعداد موجودی آنها بین ۱۰ تا ۲۰ عدد باشد.
- جستوجو متن درون محدوده خاص: میتوانیم از دستور BETWEENبرای بدست آوردن ردیفهای درون محدوده خاصی استفاده کنیم. درحالی که حد بالا و پایین این محدوده توسط دو رشته مختلف تعیین شدهاند. برای مثال، در جدولی که شامل دادههای مربوط به دانشآموزان و نمرات آنها است، میتوانیم اطلاعات مربوط به دانشآموزانی را استخراج کنیم که محدوده نمراتی A تا C دارند.
چه زمانی از دستور BETWEEN استفاده نکنیم؟
یکی از مثالهای خوبی که در آن نباید از دستور BETWEEN استفاده کرد مربوط به زمانی است که نباید یک یا هر دو انتهای محدوده درون دادههای واکشی شده باشند. به این صورت میتوان بیان کرد که میخواهیم همه دادههای درون محدوده A تا C را به غیر از خود دادههای A و C واکشی کنیم. نتایج کوئری درون این مورد خاص فقط شامل همه دادههای با نمره B میشود. یا برای مثال، اگر بخواهیم که مقدار حد پایین محدوده را استثنا کنیم، به عنوان مثال در واکشی ردیفهای بین ۴ تا ۸، فقط باید دادههای ردیفهای بین ۵ و ۶ و ۷ و ۸ واکشی شوند. دادههای مربوط به ردیف ۴ باید نادیده گرفته شوند.
تسلط بیشتر بر SQL Server با فرادرس
یکی از بهترین موسساتی که دورههای بسیار مناسبی را به صورت فیلمهای آموزشی، برای کار با این پایگاه داده تولید کرده، وبسایت آموزشی فرادرس است. در این وبسایت فیلمهای مختلفی برای آموزش SQL Server در سطوح مختلف علمی تولید شده، بنابراین میتوانید با توجه به سطح خود گزینه مناسب را انتخاب کنید. از مزایای فیلمهای آموزشی فرادرس میتوان به کیفیت بالای علمی، آموزش مطالب کاربردی و بهروز، هزینه مقرونبهصرفه و عدم وجود محدودیت زمانی برای یادگیری توسط فیلمهای فرادرس اشاره کرد.

در ادامه چند مورد از این فیلمهای آموزشی را برای مخاطبان عزیز، فهرست کردهایم. در صورت تمایل با کلیک بر روی تصویر بالا میتوانید وارد صفحه اصلی این مجموعه آموزشی شده و فیلمهای بیشتری در موضوعات متنوع مشاهده کنید.
- فیلم آموزش SQL Server دوره مقدماتی فرادرس
- فیلم آموزش SQL Server دوره تکمیلی فرادرس
- فیلم آموزش SQL Server دوره پیشرفته فرادرس
- فیلم آموزش کوئری نویسی پیشرفته در SQL Server فرادرس
- فیلم آموزش استفاده از جیسون JSON در SQL فرادرس
روش استفاده از دستور BETWEEN در SQL
در این بخش از مطلب، به بررسی روش استفاده از دستور BETWEENبرای واکشی دادهها پرداختهایم. کدهای کوئریهای این بخش را در پایگاههای داده MySQL و SQL Server نوشتهایم.
مرحله اول ساخت جدول SQL
برای اینکه مطلب را همراه با نمایش مثالهای مرتبط، ادامه دهیم. در ابتدای کار جدول جدید را در پایگاه داده خود ایجاد میکنیم.
کوئری زیر را برای ساخت جدول در نرمافزارهای پایگاه داده MySQL یا SQL Server اجرا کنید.
کوئری مربوط به پایگاه داده SQL Server
کوئریهای بالا جدول جدیدی را برای ذخیره دادههای دانشآموزان به نام students_record ایجاد میکنند. در این جدول ستونهای شماره شناسایی id ، نام full_name ، نمره grade ، درس subject ، و تاریخ تولد date_of_birth برای هر دانشآموز قرار دارد.
بعد از آن جدول را با دادههای زیر پر میکنیم.

مرحله دوم انتخاب دانش آموزان درون محدوده نمرهای خاص
در این مرحله، روش نوشتن کوئری را نشان میدهیم. در این کوئری میخواهیم تمام دانشآموزان با نمره B تا D را از درون جدول انتخاب کرده و در خروجی به کاربر نمایش دهیم.

برای انجام این کار باید کوئری SQL پایین را اجرا کنیم.
جدولی که در زیر آمده، تمام نتایج حاصل از اجرای کوئری بالا را نشان میدهد.

اگر دستور BETWEEN از مقادیر متنی به عنوان محدوده اجرای عملیات استفاده کند، در آن صورت، عملیات جستوجو با ترتیب واژگان انجام میشود. برای درک بهتر این نوع جستوجو، کوئری زیر را اجرا میکنیم.
با اجرای کوئری بالا، جدول زیر به عنوان نتیجه از روی دادههای جدول اصلی students_record ساخته میشود.

نتایج کوئری بالا شامل نامهایی از Mary West گرفته تا Phil Jack میشود. این مسئله بهخاطر این است که فقط همه مقادیری از ستون full_name انتخاب شدهاند درون محدوده متنی مشخص شدهاند. این محدوده مشخص شده در کوئری شامل کلماتی است که کاراکتر اول آنها بزرگتر از حرف M -همچنین شامل حرف M- است و در انتها به کلمه Phil میرسد. توجه کنید که این کوئری در کلمه Phoden متوقف میشود. زیرا به ترتیب حروف که پیش برویم، کاراکتر سوم o بزرگتر از کاراکتر i در Phil است.
مرحله سوم انتخاب دانش آموزان با تاریخ تولد درون محدوده مشخص شده
برای انتخاب کردن ردیفهایی در محدوده دو تاریخ مختلف، باید کوئری SQL زیر را اجرا کنیم.
با اجرای کوئری بالا، دادههای نتیجه اجرای کوئری مانند جدول زیر در خروجی نمایش داده میشوند.

برای اجرای این کوئری لازم است که تاریخ شروع و پایان را به صورت رشته به کوئری ارائه دهیم. برای انجام این کار تاریخها را درون علامت کوتیشن قرار میدهیم.
مرحله چهارم انتخاب ردیف های خارج از محدوده
با استفاده از عملگر NOT میتوانیم دادههای خارج از محدوده مورد نظر را با استفاده از دستور BETWEEN در SQL انتخاب کنیم. برای انجام این کار باید از دستور BETWEEN به صورت NOT BETWEEN استفاده کنیم.
برای مثال، کوئری زیر را اجرا میکنیم تا دادههای مربوط به دانشآموزانی را از جدول خارج کنیم که تاریخ تولدشان خارج از محدوده اول ژانویه ۱۹۹۷ تا ۳۱ دسامبر ۲۰۰۱ است.
با اجرای کد بالا دادههای زیر به عنوان جواب کوئری به صورت جدول در خروجی نمایش داده میشوند.

مرحله پنجم استفاده از دستور BETWEEN همراه با عملگر IN
عملگر IN لیستی از مقادیر را میپذیرد که با علامت کاما از هم جدا شدهاند. سپس همه ردیفها را با مقادیر موجود درونشان مقایسه میکند که آیا جزوی از لیست INهستند یا نه. برعکس دستور BETWEEN که دادههای درون محدوده خاصی را انتخاب میکند. عملگر INدادهها را با توجه به مقادیر درون لیستی فیلتر میکند که برایش تعیین کردهایم.

در این مثال، میخواهیم که دستور BETWEEN را با عملگر IN ترکیب کنیم تا دادههای درون جدول students_record را به روش جدیدی فیلتر کنیم.
برای اینکه روش ترکیب دستور BETWEEN را با عملگر IN به صورت تجربی ببینیم به کوئری زیر دقت کنید.
بر اثر اجرای کوئری بالا، دادههای نتیجه به صورت جدول زیر نمایش داده میشوند.

در کوئری بالا چند عملیات دقیق در کنار هم به صورت مرتب انجام میشوند که در فهرست زیر بیان کردهایم.
- در قسمت اول از بند WHERE با استفاده از دستور BETWEEN دانشآموزانی را بررسی میکنیم که نمرههای بین A و C دارند.
- سپس عملگر INنتیجه را به میزان بیشتری فیلتر میکند. در واقع، در نهایت دانشآموزانی انتخاب میشوند که شرط اول را داشته باشند و علاوه بر آن در تاریخهای 1998-11-05 یا 1994-02-13 متولد شده باشند.
آموزش کار با انواع پایگاه های داده SQL

در پایین چند مورد از فیلمهای آموزشی مورد اشاره را فهرست کردهایم. این فیلمها بعضی از پایگاههای داده مختلف را پوشش میدهند. برای دیدن فیلمها آموزشی بیشتر میتوانید بر روی تصویر بالا کلیک کرده و وارد صفحه مربوط به مجموعه آموزش پایگاه داده فرادرس شوید.
- فیلم آموزش پایگاه داده MySQL فرادرس
- فیلم آموزش اوراکل مدیریت بانک اطلاعاتی با Oracle دوره مقدماتی فرادرس
- فیلم آموزش فرایند ETL و ساخت انبار داده با ابزار SSIS در SQL فرادرس
- فیلم آموزش کار با پایگاه داده SQL Server فرادرس
- فیلم آموزش مقدماتی PostgreSQL برای مدیریت پایگاه داده فرادرس
پایگاه های داده سری زمانی چیست؟
پایگاههای داده سری زمانی، گروه خاصی از پایگاههای داده هستند که برای ذخیرهسازی دادهها از زمان به عنوان فاکتور کلیدی استفاده میکنند. این پایگاههای داده معمولا دادهها را به صورت کلید و مقدار ذخیره میکنند. در این ساختارهای ذخیرهسازی، واحدهای زمانی به عنوان کلید در نظر گرفته میشوند و در جایگاه مقدار، میتوان هر نوع دادهای حتی پیامهای متنی قرار داد.
در قسمتهای بالاتر این مطلب، دیدیم که چگونه میتوان با استفاده از دستور BETWEEN دادهها را درون محدوده تاریخی خاصی فیلتر کرد. از آنجا که پایگاه داده سری زمانی، هر مقدار را با استفاده از زمان اولویت بندی میکند، فیلتر کردن دادهها بر اساس دو یا چند محدوده زمانی آسان است.
جمع بندی
در این مطلب از مجله فرادرس به بررسی دستور BETWEEN در SQL پرداختهایم. فهمیدیم که دستور BETWEEN، یکی از عملگرهای SQL است که کار فیلتر کردن دادهها را با توجه به محدوده مشخص شده ساده میکند. به علاوه، با استفاده از دستور BETWEEN در SQL چند مثال کاربردی درباره فراخوانی دادهها را به صورت فیلتر شده نمایش دادیم. در مثالهای مورد استفاده از محدودههای متنی و تاریخی برای فراخوانی دادهها استفاده کردیم.
همچنین دیدیم که چگونه از دستور BETWEENهمراه با عملگر IN استفاده کنیم. با ترکیب این دستورها میتوانیم دو سطح مختلف از فیلتر کردن را بر روی دادهها در یک کوئری SQL اعمال کنیم. استفاده کردن از ترکیب این دستورها نسبت به عملگرهای منطقی مانند > و < و AND و = برای بدست آوردن نتایج یکسان، سادهتر و برای انسان خواناتر است.
مطالب مجله فرادرس را در جستجوی گوگل سریعتر ببینید













