SQL BETWEEN অপারেটর
একটি নির্দিষ্ট রেঞ্জের মধ্যে ভ্যালু সিলেক্ট করার জন্য SQL BETWEEN
অপারেটর ব্যবহার করা হয়।
SQL BETWEEN অপারেটর
BETWEEN
অপারেটর একটি নির্দিষ্ট রেঞ্জের ভ্যালু সিলেক্ট করে। এই ভ্যালু-সমূহ টেক্সট, সংখ্যা অথবা তারিখ হতে পারে।
SQL BETWEEN সিনট্যাক্স
SELECT name_of_column's
FROM name_of_table
WHERE name_of_column BETWEEN value_1 AND value_2;
নমুনা ডেটাবেজ
IN
অপারেটর এর ব্যবহার দেখার জন্য আমরা আমাদের নমুনা ডেটাবেজ Student ব্যবহার করবো।
নিচের অংশটি "Student_details" টেবিল থেকে নেওয়া হয়েছেঃ
আইডি নং | রোল নাম্বার | শিক্ষার্থীর নাম | প্রতিষ্ঠানের নাম | ঠিকানা |
---|---|---|---|---|
১ | ১০১ | তামজীদ হাসান | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
২ | ১০২ | মিনহাজুর রহমান | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
৩ | ১০৩ | মোঃ সবুজ হোসেন | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
৪ | ১০৪ | ইয়াসিন হোসেন | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
৫ | ১০৫ | ফরহাদ উদ্দিন | জাতীয় বিশ্ববিদ্যালয় | চাঁদপুর |
BETWEEN অপারেটরের উদাহরণ
নিম্নের SQL BETWEEN
স্টেটমেন্টটি "Student_details" টেবিলের "Roll_number" কলামের ১০১ থেকে ১০৫ রেঞ্জ পর্যন্ত সকল রেকর্ড গুলো নিয়ে আসবেঃ
SELECT * FROM Student_details
WHERE Roll_number BETWEEN '১০১' AND '১০৫';
সতর্কতাঃ BETWEEN
অপারেটরটি বিভিন্ন ডেটাবেজে বিভিন্ন ফলাফল দেখাতে পারে!
- কিছু ডেটাবেজে
BETWEEN
অপারেটরটি টেষ্ট ভ্যালুসহ এর মাঝখানের ভ্যালুগুলোর জন্য ফলাফল দেয়। - আবার কিছু ডেটাবেজে টেষ্ট ভ্যালুছাড়া এর মাঝখানের ভ্যালুগুলোর জন্য ফলাফল দেয়।
- আবার কিছু ডেটাবেজে প্রথম টেষ্ট ভ্যালুসহ এবং শেষ টেষ্ট ভ্যালু ছাড়া এর মাঝখানের ভ্যালুগুলোর জন্য ফলাফল দেয়।
সুতরাং BETWEEN
নিয়ে কাজ করার পূর্বে BETWEEN
অপারেটরটি আপনার ডেটাবেজে কিভাবে কাজ করে তা চেক করে দেখুন!
NOT BETWEEN অপারেটরের উদাহরণ
পূর্ববর্তী উদাহরণে আমরা রেঞ্জের ভিতরের ভ্যলু-সমূহ সিলেক্ট করেছিলাম। আর এই উদাহরণে আমরা ঐ নির্দিষ্ট রেঞ্জের বাইরের ভ্যালু-সমূহ সিলেক্ট করবো। এজন্য আমরা BETWEEN
এর পরিবর্তে NOT BETWEEN
ব্যবহার করবো।
SELECT * FROM Student_details
WHERE Roll_number NOT BETWEEN '১০১' AND '১০৫';
BETWEEN এবং IN অপারেটর একত্রে ব্যবহার করা
নিম্নের SQL স্টেটমেন্টটি "Student_details" টেবিলের "Roll_number" কলামের ১০১ থেকে ১১০ রেঞ্জ পর্যন্ত রেকর্ড গুলো নিয়ে আসবে, কিন্তু ৪, ৭ এবং ৯ "Id" বিশিষ্ট রেকর্ড গুলো দেখাবে নাঃ
SELECT * FROM Student_details
WHERE (Roll_number BETWEEN '১০১' AND '১১০')
AND NOT Id IN(৪, ৭, ৯);
টেক্সট ভ্যালুসহ BETWEEN অপারেটরের ব্যবহার
নিম্নের SQL স্টেটমেন্টটি "Student_details" টেবিল এর রেকর্ড-সমূহের মধ্যে যে সকল "শিক্ষার্থীর নাম(Student_name)" 'ক' থেকে 'ম' পর্যন্ত অক্ষর দ্বারা শুরু হয়েছে শুধুমাত্র তাদেরকে নিয়ে আসবেঃ
SELECT * FROM Student_details
WHERE Student_name BETWEEN 'ক' AND 'ম';
টেক্সট ভ্যালুসহ NOT BETWEEN অপারেটরের ব্যবহার
নিম্নের SQL স্টেটমেন্টটি "Student_details" টেবিল এর রেকর্ড-সমূহের মধ্যে যে সকল "শিক্ষার্থীর নাম(Student_name)" 'ক' থেকে 'ম' পর্যন্ত অক্ষর দ্বারা শুরু হয়েছে শুধুমাত্র তাদেরকে ছাড়া বাকীদেরকে নিয়ে আসবেঃ
SELECT * FROM Student_details
WHERE Student_name NOT BETWEEN 'ক' AND 'ম';
নমুনা ডেটাবেজ
নিচের অংশটি "Student_attendance" টেবিল থেকে নেওয়া হয়েছেঃ
আইডি নং | রোল নাম্বার | শতকরা উপস্থিতি | ভর্তির তারিখ |
---|---|---|---|
১ | ১০১ | ৮৯% | ০১-১১-২০১৫ |
২ | ১০২ | ৯১% | ০১-১১-২০১৫ |
৩ | ১০৩ | ৮০% | ০১-১১-২০১৫ |
৪ | ১০৪ | ৭৫% | ০২-১১-২০১৫ |
৫ | ১০৫ | ৭৭% | ০২-১১-২০১৫ |
ডেট ভ্যালুসহ BETWEEN অপারেটরের ব্যবহার
নিম্নের SQL স্টেটমেন্টটি "Student_attendance" টেবিল এর রেকর্ড-সমূহের মধ্যে যে সকল শিক্ষার্থীর "ভর্তির তারিখ(Admission_date)" '০১-১১-২০১৫' থেকে '১০-১১-২০১৫' এর মধ্যে শুধুমাত্র তাদেরকে নিয়ে আসবেঃ
SELECT * FROM Student_attendance
WHERE Admission_date BETWEEN '০১-১১-২০১৫' AND '১০-১১-২০১৫';