در دنیای پایگاهداده، جستجوی دادهها به شیوهای سریع و دقیق اهمیت زیادی دارد. یکی از قابلیتهای مهم زبان SQL این است که به شما امکان میدهد دادهها را بر اساس الگوهای خاص فیلتر کنید. سه عبارت پرکاربرد Between، IN و LIKE در SQL دقیقاً برای همین هدف طراحی شدهاند و دانستن تفاوتها و کاربردهای هر کدام باعث میشود کوئریهای شما تمیزتر، خواناتر و بهینهتر باشند. در این مقاله جامع به بررسی این سه عبارت میپردازیم و با مثالهای عملی آنها را یاد میگیریم تا بتوانید به راحتی در پروژههای واقعی از آنها استفاده کنید.
عبارت BETWEEN در SQL چیست؟
عبارت BETWEEN برای فیلتر کردن دادهها در یک بازه مشخص استفاده میشود. این بازه میتواند شامل عدد، تاریخ یا حتی رشته باشد. به زبان ساده، اگر بخواهید تمام ردیفهایی را که مقدار آنها بین دو مقدار مشخص قرار دارد انتخاب کنید، از BETWEEN استفاده میکنید.
ساختار کلی:
این کوئری تمام رکوردهایی را که مقدار column_name
بین value1
و value2
است برمیگرداند. نکته مهم این است که BETWEEN مقدارهای مرزی (value1 و value2) را نیز شامل میشود.

مثال عددی:
فرض کنید جدولی به نام Employees
دارید که ستونی به نام Salary
دارد. برای انتخاب کارمندانی که حقوقشان بین 3000 و 5000 است:
این کوئری همه کارمندانی که حقوقشان در این بازه است (شامل 3000 و 5000) را نمایش میدهد.
مثال تاریخ:
این کوئری سفارشهای ششماهه اول سال 2024 را بازیابی میکند.
نکات مهم در استفاده از BETWEEN
-
شامل بودن مقادیر مرزی: همیشه به یاد داشته باشید که BETWEEN مقدارهای ابتدا و انتها را هم شامل میشود. اگر این موضوع در تحلیل دادههای شما اهمیت دارد، از عملگرهای
<
و>
به صورت دستی استفاده کنید. -
کارایی در دیتابیسهای بزرگ: BETWEEN در جداول ایندکسگذاریشده معمولاً کارایی خوبی دارد، زیرا دیتابیس میتواند به سرعت ردیفها را در بازه موردنظر پیدا کند.
-
کاربرد با رشتهها: میتوان از BETWEEN برای مقایسه حروف نیز استفاده کرد، مثلاً انتخاب اسامی که بین A و M شروع میشوند.

عبارت IN در SQL چیست؟
عبارت IN زمانی استفاده میشود که بخواهید بررسی کنید یک مقدار خاص در میان مجموعهای از مقادیر وجود دارد یا خیر. این عملگر باعث سادهتر و خواناتر شدن کوئریهای شما میشود و جایگزینی عالی برای استفاده پشتسرهم از OR است.
ساختار کلی:

مثال:
انتخاب کارمندانی که شهر محل کارشان تهران، اصفهان یا شیراز است:
به جای نوشتن:
که طولانیتر و کمتر خوانا است.
استفاده از IN با زیرکوئری:
این کوئری همه محصولاتی که در دستهبندی نوشیدنیها هستند را برمیگرداند.
نکات مهم در استفاده از IN
-
جایگزین بهتر برای OR: اگر با چند مقدار سر و کار دارید، IN خواناتر و سریعتر است.
-
کارایی: استفاده از IN در جداول بزرگ همراه با ایندکس میتواند سرعت کوئری را افزایش دهد.
-
NOT IN: معکوس IN است و ردیفهایی که در مجموعه قرار ندارند را انتخاب میکند.

عبارت LIKE در SQL چیست؟
عبارت LIKE برای جستجوی دادههایی استفاده میشود که الگوی خاصی دارند. این عملگر در کنار wildcard characters یا کاراکترهای جایگزین استفاده میشود. دو کاراکتر مهم در LIKE عبارتند از:
-
%
: هر تعداد کاراکتر (صفر یا بیشتر) -
_
: دقیقاً یک کاراکتر

مثال:
انتخاب کارمندانی که نامشان با حرف A شروع میشود:
انتخاب کارمندانی که نامشان دقیقاً پنج حرف دارد و با M شروع میشود:
مثال عملیتر:
برای پیدا کردن محصولاتی که در نامشان کلمه “Cake” وجود دارد:
نکات مهم در استفاده از LIKE
-
کارایی: استفاده از LIKE با الگوی شروعشونده (مثل
A%
) سریعتر از الگوهای شاملشونده (مثل%Cake%
) است زیرا دومی مجبور است کل جدول را اسکن کند. -
Case Sensitivity: در برخی دیتابیسها LIKE حساس به حروف بزرگ و کوچک است (مثل PostgreSQL)، در برخی دیگر (مثل MySQL) خیر.
- ترکیب با NOT: میتوانید از
NOT LIKE
برای حذف دادههای مطابق با الگو استفاده کنید.
تفاوت Between، IN و LIKE
ویژگی | BETWEEN | IN | LIKE |
---|---|---|---|
کاربرد اصلی | انتخاب دادهها در یک بازه | بررسی وجود مقدار در یک مجموعه | جستجوی دادهها با الگو |
نوع مقایسه | عددی، تاریخی، رشتهای | مقادیر گسسته | رشتهای |
خوانایی | ساده و کوتاه برای بازهها | بسیار خوانا برای چند مقدار | انعطافپذیر برای الگوها |
کارایی | سریع با ایندکس | سریع با ایندکس | ممکن است کند باشد (خصوصاً با % در ابتدا) |
جمعبندی
عبارتهای BETWEEN، IN و LIKE سه ابزار قدرتمند برای فیلتر کردن دادهها در SQL هستند که هر کدام در شرایط خاص خود بهترین عملکرد را دارند. BETWEEN برای بازهها عالی است، IN برای مقادیر گسسته و LIKE برای الگوهای رشتهای. با شناخت کامل این سه عبارت میتوانید کوئریهای تمیزتر، سریعتر و کارآمدتری بنویسید. پیشنهاد میکنم برای تسلط بیشتر، چند جدول آزمایشی بسازید و کوئریهای مختلف را اجرا کنید تا با رفتار این عبارات در شرایط واقعی آشنا شوید.
بدون دیدگاه