If tutorials available on this website are helpful for you, please whitelist this website in your ad blocker😭 or Donate to help us ❤️ pay for the web hosting to keep the website running.
अभी तक आपने AND , OR और IN operators के बारे में पढ़ा जहाँ हम absolute conditions apply करते थे , लेकिन BETWEEN
operator की help से आप दो ranges के बीच की value के लिए condition मैच कराते हैं।
MySQL में BETWEEN
Operator का उपयोग दो values के बीच records को fetch के लिए किया जाता है। BETWEEN Operator का उपयोग WHERE के साथ किया जाता है जो दिए गए range के बीच records को search करता है।
SELECT column_name(s) FROM table_name
WHERE column_name BETWEEN value1 AND value2;
यहां, column_name(s) वह columns हैं जिनके लिए आप records चाहते हैं, table_name वह table है जिसमें column_name(s) हैं, column_name वह column है जिसको compare किया गया और value1 और value2 वे दो values की range है।
BETWEEN operator एक logical operator है जो condition true होने पर 1 return करेगा और false होने पर 0 ;
For Example
value BETWEEN min_value AND max_value;
देख जाए तो BETWEEN , >=
, <=
operators को AND
के जैसे ही evaluate करता है , जैसे कि ऊपर दिए गए expression को आप ऐसे भी लिख सकते हैं।
value >= min_value AND value <= max_value;
अब आप BETWEEN
operator का concept समझ गए होंगे , चलिए अब कुछ examples देख सलते हैं।
Example के लिए हमारे पास एक users
table है , सबसे पहले हम वो records को fetch करेंगे जहाँ salary 100 से 1000 के बीच है तो इसके लिए हम कुछ इस तरह से query लिखेंगे -
SELECT * FROM users WHERE salary BETWEEN 100 AND 1000;
Output
+----+-------+------------+---------+--------+---------------------+ | id | name | mobileno | address | salary | created_at | +----+-------+------------+---------+--------+---------------------+ | 1 | Raju | 3243907889 | India | 1000 | 2023-02-10 10:07:26 | | 4 | john | 9100021321 | UAE | 100 | 2023-02-14 05:07:46 | | 5 | Shaam | 9100021334 | Russia | 200 | 2023-02-22 12:07:37 | +----+-------+------------+---------+--------+---------------------+
अब जैसा कि आपको ऊपर बताया गया कि same result को >= AND <=
से match करा के get कर सकते हैं , जैसे कि नीचे दी गयी query भी same result generate करेगी -
SELECT * FROM users WHERE salary >= 100 AND salary <= 1000;
BETWEEN के साथ आप कोई भी ऐसी value match कर सकते हैं जिसे आप <, > के साथ use कर सकते हैं जैसे कि Number , Date , Time etc ...
NOT BETWEEN
Operator , BETWEEN
के just उल्टा है। मतलब BETWEEN वो records search करता है जो दो values के बीच में हैं , जबकि NOT BETWEEN वो records search करता है जो दो values के बीच नहीं हैं।
जैसे कि ऊपर दिए गए example में अगर आप NOT BETWEEN
का use कर लेते हैं तो आपको वो सभी records मिलेगें जिनकी salary 100 से 1000 के बीच नहीं है , जैसे -
SELECT * FROM users WHERE salary NOT BETWEEN 100 AND 1000;
Output
+----+--------+------------+---------+--------+---------------------+ | id | name | mobileno | address | salary | created_at | +----+--------+------------+---------+--------+---------------------+ | 2 | Aman | 9043907889 | NULL | 1200 | 2023-02-09 13:07:31 | | 3 | Babloo | NULL | US | 1030 | 2023-02-16 14:07:37 | | 6 | kaam | 9100021326 | Turkey | 1500 | 2023-02-16 18:26:32 | +----+--------+------------+---------+--------+---------------------+
Number values के अलावा BETWEEN
और NOT BETWEEN
operators को आप date या time columns के साथ भी use कर सकते हैं जैसे
SELECT * FROM users WHERE DATE(created_at) BETWEEN '2023-2-9' AND '2023-2-10';
Output
+----+------+------------+---------+--------+---------------------+ | id | name | mobileno | address | salary | created_at | +----+------+------------+---------+--------+---------------------+ | 1 | Raju | 3243907889 | India | 1000 | 2023-02-10 10:07:26 | | 2 | Aman | 9043907889 | NULL | 1200 | 2023-02-09 13:07:31 | +----+------+------------+---------+--------+---------------------+
ऊपर दिए गए example में मैंने created_at
column को DATE()
function में रखा है क्योंकि मुझे type cast करना था क्योंकि जैसा कि आप देख सकते हैं कि created_at column का time DateTime
है और मुझे सिर्फ date से match कराना था।
हालाँकि Type Casting का concept आप आगे पढ़ेंगे।
I Hope, अब आप MySQL में BETWEEN & NOT BETWEEN operators के बारे में अच्छे से समझ गए होंगे।