1. परिचय
MySQL डेटाबेस में क्वेरी को कुशलता से निष्पादित करने के लिए एक महत्वपूर्ण तत्व BETWEEN ऑपरेटर है। यह ऑपरेटर तब बहुत उपयोगी होता है जब यह जांचना हो कि डेटा किसी विशिष्ट रेंज के भीतर आता है या नहीं। इसे संख्याओं, तिथियों और स्ट्रिंग्स के लिए रेंज निर्दिष्ट करने के लिए उपयोग किया जाता है, जिससे डेटाबेस खोज और फ़िल्टरिंग में डेटा निष्कर्षण अधिक प्रभावी बनता है। इस लेख में हम MySQL BETWEEN ऑपरेटर का विस्तृत उपयोग, व्यावहारिक उदाहरण और महत्वपूर्ण विचारों को समझाएंगे।
2. BETWEEN ऑपरेटर की मूल सिंटैक्स
BETWEEN ऑपरेटर का अवलोकन
BETWEEN ऑपरेटर WHERE क्लॉज़ में उपयोग की जाने वाली एक शर्त है जो यह जांचती है कि किसी कॉलम का मान परिभाषित रेंज के भीतर है या नहीं। मूल सिंटैक्स इस प्रकार है:
SELECT column_name
FROM table_name
WHERE column_name BETWEEN start_value AND end_value;
उदाहरण के लिए, यदि किसी तालिका में कर्मचारियों की आयु संग्रहीत है, तो आप इस ऑपरेटर का उपयोग करके एक विशिष्ट आयु रेंज के भीतर के कर्मचारियों को निकाल सकते हैं।
नकारात्मक रूप: NOT BETWEEN
यदि आप उन मानों को खोजना चाहते हैं जो निर्दिष्ट रेंज में शामिल नहीं हैं, तो नकारात्मक रूप NOT BETWEEN का उपयोग करें।
SELECT column_name
FROM table_name
WHERE column_name NOT BETWEEN start_value AND end_value;
3. संख्यात्मक रेंज निर्दिष्ट करना
संख्यात्मक रेंज के लिए BETWEEN का उपयोग
BETWEEN ऑपरेटर संख्यात्मक रेंज निर्दिष्ट करने में बहुत सुविधाजनक है। उदाहरण के लिए, यदि आप उन कर्मचारियों के वेतन को निकालना चाहते हैं जो 50,000 और 100,000 के बीच हैं, तो क्वेरी इस प्रकार लिखें:
SELECT employee_id, name, salary
FROM employees
WHERE salary BETWEEN 50000 AND 100000;
नमूना डेटा:
| employee_id | name | salary |
|---|---|---|
| 1 | Sato | 45000 |
| 2 | Suzuki | 55000 |
| 3 | Takahashi | 75000 |
| 4 | Tanaka | 120000 |
निष्पादन परिणाम:
| employee_id | name | salary |
|---|---|---|
| 2 | Suzuki | 55000 |
| 3 | Takahashi | 75000 |
उपरोक्त क्वेरी में केवल वही कर्मचारी चुने जाते हैं जिनका वेतन 50,000 और 100,000 के बीच आता है।
तुलना ऑपरेटर्स से अंतर
यदि आप वही शर्त तुलना ऑपरेटर्स से व्यक्त करें, तो यह इस प्रकार दिखेगी:
SELECT employee_id, name, salary
FROM employees
WHERE salary >= 50000 AND salary <= 100000;
BETWEEN का उपयोग क्वेरी को अधिक संक्षिप्त बनाता है और पठनीयता को बढ़ाता है। विशेष रूप से जब कई रेंज शर्तें शामिल हों, तो BETWEEN क्वेरी को समझना आसान बनाता है।

4. तिथि रेंज निर्दिष्ट करना
तिथि डेटा के साथ BETWEEN का उपयोग
BETWEEN का उपयोग तिथि रेंज निर्दिष्ट करने के लिए भी किया जा सकता है। उदाहरण के लिए, यदि आप orders तालिका से 1 जनवरी, 2024 से 31 दिसंबर, 2024 के बीच के ऑर्डर निकालना चाहते हैं, तो क्वेरी इस प्रकार लिखें:
SELECT order_id, customer_id, order_date
FROM orders
WHERE order_date BETWEEN '2024-01-01' AND '2024-12-31';
नमूना डेटा:
| order_id | customer_id | order_date |
|---|---|---|
| 1 | 101 | 2024-01-15 |
| 2 | 102 | 2024-05-30 |
| 3 | 103 | 2025-03-01 |
निष्पादन परिणाम:
| order_id | customer_id | order_date |
|---|---|---|
| 1 | 101 | 2024-01-15 |
| 2 | 102 | 2024-05-30 |
जैसा कि ऊपर दिखाया गया है, BETWEEN ऑपरेटर निर्दिष्ट तिथि रेंज के भीतर का डेटा निकालता है।
समय डेटा को संभालना
यदि तिथि डेटा में समय भी शामिल है, तो विशेष ध्यान आवश्यक है। उदाहरण के लिए, यदि order_date कॉलम का प्रकार DATETIME है और इसमें समय मान शामिल हैं, तो BETWEEN के साथ रेंज निर्दिष्ट करने से प्रारंभ तिथि के मध्यरात्रि से लेकर समाप्ति तिथि के 23:59:59 तक के रिकॉर्ड शामिल हो जाएंगे।
WHERE order_date BETWEEN '2024-01-01 00:00:00' AND '2024-12-31 23:59:59';
5. स्ट्रिंग रेंज निर्दिष्ट करना
स्ट्रिंग डेटा के साथ BETWEEN का उपयोग
BETWEEN ऑपरेटर को स्ट्रिंग डेटा पर भी लागू किया जा सकता है। उदाहरण के लिए, यदि आप उन उत्पादों को खोजना चाहते हैं जिनके नाम ‘A’ से ‘M’ के बीच हैं, तो क्वेरी इस प्रकार लिखें:
SELECT product_id, product_name
FROM products
WHERE product_name BETWEEN 'A' AND 'M';
नमूना डेटा:
| product_id | product_name |
|---|---|
| 1 | Apple |
| 2 | Banana |
| 3 | Mango |
| 4 | Orange |
निष्पादन परिणाम:
| product_id | product_name |
|---|---|
| 1 | Apple |
| 2 | Banana |
| 3 | Mango |
वर्णक्रमीय क्रम पर विचार
स्ट्रिंग रेंज निर्दिष्ट करते समय यह माना जाता है कि स्ट्रिंग्स वर्णक्रमीय क्रम में व्यवस्थित हैं। चूँकि डेटाबेस कोलेशन सेटिंग्स के आधार पर बड़े और छोटे अक्षरों में अंतर कर सकते हैं, इसलिए सावधानी बरतनी चाहिए। उदाहरण के लिए, 'a' और 'A' को अलग मान माना जा सकता है।
6. BETWEEN का उपयोग करते समय महत्वपूर्ण विचार
रेंज क्रम का महत्व
BETWEEN ऑपरेटर का उपयोग करते समय, प्रारंभिक और अंतिम मानों के क्रम के बारे में सावधान रहें। यदि प्रारंभिक मान अंतिम मान से बड़ा है, तो क्वेरी अप्रत्याशित परिणाम लौटा सकती है।
SELECT * FROM table_name WHERE column_name BETWEEN 100 AND 50; -- unintended result
इसके अलावा, चूंकि BETWEEN दोनों सीमांत मानों को शामिल करता है, इसलिए प्रारंभिक और अंतिम मानों का चयन सावधानीपूर्वक करना महत्वपूर्ण है।
इंडेक्स उपयोग और दक्षता
BETWEEN ऑपरेटर सामान्यतः मानक तुलना ऑपरेटरों के समकक्ष प्रदर्शन रखता है। हालांकि, क्वेरी प्रदर्शन को अनुकूलित करने के लिए, उचित इंडेक्सिंग आवश्यक है। जब इंडेक्स सही ढंग से कॉन्फ़िगर किए जाते हैं, तो BETWEEN ऑपरेटर का उपयोग करके क्वेरी निष्पादन गति में सुधार होता है। उदाहरण के लिए, तिथि कॉलम पर इंडेक्स सेट करने से तिथि रेंज क्वेरी अधिक कुशलता से चलती हैं।
7. व्यावहारिक क्वेरी और उन्नत उदाहरण
कई कॉलम के साथ BETWEEN का उपयोग
BETWEEN ऑपरेटर को कई कॉलमों में संयोजन में भी उपयोग किया जा सकता है। उदाहरण के लिए, उत्पाद मूल्य और स्टॉक मात्रा दोनों निर्दिष्ट करके रेंज खोज करते समय, निम्नलिखित क्वेरी का उपयोग किया जा सकता है:
SELECT product_name, price, stock
FROM products
WHERE price BETWEEN 1000 AND 5000
AND stock BETWEEN 50 AND 200;
यह क्वेरी 1,000 और 5,000 के बीच कीमतों वाले उत्पादों और 50 और 200 के बीच स्टॉक मात्राओं की खोज करती है।
NOT BETWEEN उन्नत उदाहरण
नकारात्मक रूप NOT BETWEEN का उपयोग करके, आप निर्दिष्ट रेंज के बाहर डेटा निकाल सकते हैं। उदाहरण के लिए, 50,000 से नीचे या 100,000 से ऊपर वेतन वाले कर्मचारियों की खोज करने के लिए, क्वेरी निम्नलिखित रूप में लिखें:
SELECT employee_id, name, salary
FROM employees
WHERE salary NOT BETWEEN 50000 AND 100000;
निष्पादन परिणाम:
| employee_id | name | salary |
|---|---|---|
| 1 | Sato | 45000 |
| 4 | Tanaka | 120000 |
यह क्वेरी उन कर्मचारियों को पुनः प्राप्त करती है जिनके वेतन 50,000 से 100,000 की रेंज में नहीं आते। NOT BETWEEN का उपयोग विपरीत शर्तों के आधार पर डेटा निकालना आसान बनाता है।
8. दृश्य क्वेरी उदाहरण
क्वेरी परिणामों को दृश्य रूप से प्रदर्शित करने के लिए, एक सरल आरेख का उपयोग प्रभावी हो सकता है। उदाहरण के लिए, निम्नलिखित चित्रण बताता है कि BETWEEN कैसे काम करता है:
Price range: [----- 1000 ---- 5000 -----]
Product A price: 3000 (within range)
Product B price: 6000 (outside range)
इस तरह के आरेख का उपयोग करने से निर्दिष्ट क्वेरी रेंज में डेटा आता है या नहीं, यह सहज रूप से समझना आसान हो जाता है।
9. सारांश
BETWEEN ऑपरेटर MySQL में रेंज-आधारित खोजों को करने के समय एक अत्यधिक उपयोगी उपकरण है। इसे संख्यात्मक, तिथि और स्ट्रिंग डेटा पर लागू किया जा सकता है, जो क्वेरी को संक्षिप्त और कुशलता से लिखने की अनुमति देता है। हालांकि, सीमांत मानों की समावेशिता और उचित इंडेक्स उपयोग जैसी प्रमुख विचारणाओं को समझना महत्वपूर्ण है। इस ज्ञान का लाभ उठाकर, आप डेटाबेस क्वेरी प्रदर्शन को अनुकूलित कर सकते हैं और आवश्यक डेटा को कुशलता से निकाल सकते हैं।
10. संदर्भ
अधिक विवरण और अतिरिक्त उपयोग उदाहरणों के लिए, आधिकारिक MySQL दस्तावेज़ीकरण और विशेषज्ञ डेटाबेस पाठ्यपुस्तकों का संदर्भ लें। क्वेरी का स्वयं अभ्यास करने से BETWEEN ऑपरेटर की समझ और गहराई से बढ़ेगी।


