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.
MySQL में IN
operator का use एक से अधिक values की एक list में search करने के लिए किया जाता है, अगर एक भी value से match हुआ तो 1 (true ) return होगा otherwise 0 (false) .
SELECT column_name(s) FROM table_name
WHERE column_name IN (value1, value2, ...);
यहां, column_name(s) वो columns हैं जिनके लिए आप search करना चाहते हैं, table_name वह table है जिसमें columns हैं, column_name वह column हैं जिसकी value दी गयी list (value1, value2 , ...) में हो।
list से अगर एक भी value match हुई तो 1 मिलेगा, prove करने के लिए आप query run करके देख सकते हैं -
SELECT 1 IN (1,2,3);
Output
+--------------+ | 1 IN (1,2,3) | +--------------+ | 1 | +--------------+
So , देखा जाए तो IN
operator multiple OR conditions है , जिसमे से अगर एक भी condition match हुई तो 1 (true) मिलेगा और अगर कोई value match नहीं हुई तो 0 (false).
ऊपर दिए Example को आप इस तरह से भी लिख सकते हैं -
SELECT 1=1 OR 1=2 OR 1=3;
बस IN
operator के साथ आप values की list pass करते हैं और code भी कम लिखना पड़ता है।
1 और 0 के साथ तो आपका concept clear हो गया होगा हालाँकि NULL के case में आपको थोड़ा ध्यान रहने की जरूरत है -
अगर आप NULL
value को match करएंगे तो return में NULL
ही मिलेगा , चाहे अपने वो value list में present हो -
SELECT NULL IN (1,2), NULL IN (1,NULL);
Output
+---------------+------------------+ | NULL IN (1,2) | NULL IN (1,NULL) | +---------------+------------------+ | NULL | NULL | +---------------+------------------+
इसके अलावा अगर match की जाने वाली list में available किसी भी value से match नहीं होती और NULL present है तो return में NULL
ही मिलेगा , लेकिन list में NULL नहीं है तो 0 मिलेगा -
SELECT 1 IN (2,3,NULL), 1 IN (2,3);
Output
+-----------------+------------+ | 1 IN (2,3,NULL) | 1 IN (2,3) | +-----------------+------------+ | NULL | 0 | +-----------------+------------+
आप IN
operator का concept समझ गए होंगे , चलिए अब कुछ examples देख सलते हैं।
Example के लिए हमारे पास एक users
table है , सबसे पहले हम वो records को fetch करेंगे जहाँ salary 100 या 200 हो -
SELECT * FROM users WHERE salary IN (100, 200);
Output
+----+-------+------------+---------+--------+---------------------+ | id | name | mobileno | address | salary | created_at | +----+-------+------------+---------+--------+---------------------+ | 4 | john | 9100021321 | UAE | 100 | 2023-02-14 05:07:46 | | 5 | Shaam | 9100021334 | Russia | 200 | 2023-02-22 12:07:37 | +----+-------+------------+---------+--------+---------------------+
दी गयी values list में आप कोई भी valid data type की value दे सकते हैं जैसे date , time या string जैसे इस example में date से match कराया गया है -
SELECT * FROM users WHERE DATE(created_at) IN ('2023-02-16', '2023-02-10');
Output
+----+--------+------------+---------+--------+---------------------+ | id | name | mobileno | address | salary | created_at | +----+--------+------------+---------+--------+---------------------+ | 1 | Raju | 3243907889 | India | 1000 | 2023-02-10 10:07:26 | | 3 | Babloo | NULL | US | 1030 | 2023-02-16 14:07:37 | | 6 | kaam | 9100021326 | Turkey | 1500 | 2023-02-16 18:26:32 | +----+--------+------------+---------+--------+---------------------+
ऊपर दिए गए example में मैंने created_at
column को DATE()
function में रखा है क्योंकि मुझे type cast करना था क्योंकि जैसा कि आप देख सकते हैं कि created_at column का time DateTime
है और मुझे सिर्फ date से match कराना था।
हालाँकि Type Casting का concept आप आगे पढ़ेंगे।
आप IN operator के साथ बाकी conditions जैसे AND या OR भी रख सकते हैं जैसी आपको need हो।
For Example
SELECT * FROM users WHERE DATE(created_at) IN ('2023-02-16', '2023-02-10') AND address='India';
I Hope, अब आप MySQL में IN operator के बारे में अच्छे से समझ गए होंगे।