MySQL BETWEEN ऑपरेटर का उपयोग कैसे करें (संख्याओं, तिथियों और स्ट्रिंग्स के उदाहरणों सहित)

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;

नमूना डेटा:

कर्मचारी आईडी

name

वेतन

1

Sato

45000

2

Suzuki

55000

3

ताकाहाशी

75000

4

Tanaka

120000

परिणाम:

employee_id

name

वेतन

2

Suzuki

55000

3

ताकाहाशी

75000

इस क्वेरी में, केवल वे कर्मचारी चुने जाते हैं जिनका वेतन 50,000 से 100,000 के बीच आता है।

तुलना ऑपरेटर बनाम BETWEEN

उसी शर्त को तुलना ऑपरेटरों के साथ भी व्यक्त किया जा सकता है, इस प्रकार:

SELECT employee_id, name, salary
FROM employees
WHERE salary >= 50000 AND salary <= 100000;

BETWEEN का उपयोग क्वेरी को अधिक संक्षिप्त और पढ़ने में आसान बनाता है। यह विशेष रूप से तब उपयोगी होता है जब कई रेंज शर्तों से निपटना हो।

4. तिथि रेंज फ़िल्टरिंग

तिथियों के साथ BETWEEN का उपयोग

BETWEEN ऑपरेटर को तिथि रेंज पर भी लागू किया जा सकता है। उदाहरण के लिए, 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

ग्राहक_आईडी

order_date

1

101

2024-01-15

2

102

2024-05-30

जैसा कि ऊपर दिखाया गया है, BETWEEN ऑपरेटर निर्दिष्ट तिथि रेंज के भीतर का डेटा निकालता है।

समय डेटा को संभालना

यदि तिथि कॉलम में समय मान भी शामिल हैं, तो आपको सावधानी बरतनी होगी। उदाहरण के लिए, यदि order_date कॉलम का प्रकार DATETIME है, तो BETWEEN का उपयोग शुरू तिथि के मध्यरात्रि (00:00:00) से लेकर समाप्ति तिथि के अगले दिन की मध्यरात्रि तक के मानों को शामिल करेगा। यह सुनिश्चित करने के लिए कि आप पूरे दिन को कैप्चर कर रहे हैं, समय घटक को स्पष्ट रूप से निर्दिष्ट करें:

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

उत्पाद_का_नाम

1

Apple

2

Banana

3

Mango

4

Orange

परिणाम:

product_id

उत्पाद_नाम

1

Apple

2

Banana

3

Mango

अल्फाबेटिक क्रम संबंधी विचार

जब स्ट्रिंग्स को BETWEEN के साथ फ़िल्टर किया जाता है, तो यह याद रखें कि मूल्यांकन अल्फाबेटिक क्रम पर आधारित होता है। साथ ही, डेटाबेस कोलेशन सेटिंग्स के आधार पर केस सेंसिटिविटी लागू हो सकती है। उदाहरण के लिए, 'a' और 'A' को अलग मान माना जा सकता है। स्ट्रिंग रेंज के साथ काम करते समय हमेशा कोलेशन सेटिंग्स की पुष्टि करें।

6. 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;

यह क्वेरी उन उत्पादों को प्राप्त करती है जिनकी कीमत 1000 से 5000 के बीच है, और स्टॉक स्तर 50 से 200 के बीच है।

NOT BETWEEN का व्यावहारिक उपयोग

नकारात्मक रूप NOT BETWEEN का उपयोग करके आप आसानी से किसी विशिष्ट रेंज के बाहर का डेटा निकाल सकते हैं। उदाहरण के लिए, उन कर्मचारियों को खोजने के लिए जिनका वेतन 50,000 से कम या 100,000 से अधिक है, आप लिख सकते हैं:

SELECT employee_id, name, salary
FROM employees
WHERE salary NOT BETWEEN 50000 AND 100000;

परिणाम:

कर्मचारी_आईडी

name

वेतन

1

Sato

४५,०००

4

Tanaka

120000

यह क्वेरी उन कर्मचारियों को प्राप्त करती है जिनका वेतन 50,000 और 100,000 के बीच नहीं है। NOT BETWEEN का उपयोग करके विपरीत शर्त को लागू करना सरल हो जाता है।

8. क्वेरीज़ के दृश्य उदाहरण

क्वेरी परिणामों को अधिक सहज बनाने के लिए दृश्य आरेख सहायक हो सकते हैं। उदाहरण के लिए, आप BETWEEN के प्रभाव को इस प्रकार दर्शा सकते हैं:

Price Range: [----- 1000 ---- 5000 -----]
Product A Price: 3000 (Inside Range)
Product B Price: 6000 (Outside Range)

ऐसे चित्रण यह समझने में आसान बनाते हैं कि कोई मान क्वेरी में निर्दिष्ट रेंज के भीतर आता है या नहीं।

9. सारांश

BETWEEN ऑपरेटर MySQL में रेंज-आधारित खोजों के लिए एक शक्तिशाली उपकरण है। इसे संख्यात्मक, तिथि, और स्ट्रिंग डेटा पर लागू किया जा सकता है, जिससे आप ऐसी क्वेरीज़ लिख सकते हैं जो संक्षिप्त और कुशल दोनों हों। हालांकि, इसके गुणों—जैसे सीमा मानों की समावेशिता और उचित इंडेक्सिंग के महत्व—को समझना आवश्यक है, ताकि अप्रत्याशित परिणामों से बचा जा सके। इस ज्ञान को लागू करके आप क्वेरी प्रदर्शन को अनुकूलित कर सकते हैं और केवल आवश्यक डेटा को अधिक प्रभावी ढंग से निकाल सकते हैं।

10. संदर्भ

अधिक विवरण और उन्नत उपयोग मामलों के लिए, आप आधिकारिक MySQL दस्तावेज़ या विशेष डेटाबेस पुस्तकों का संदर्भ ले सकते हैं। इसके अलावा, स्वयं क्वेरीज़ के साथ प्रयोग करना BETWEEN ऑपरेटर के कार्य करने के तरीके को गहराई से समझने का सबसे अच्छा तरीका है।