MySQL IN Operator In Hindi | MySQL Where IN

📔 : MySQL 🔗

MySQL में IN operator का use एक से अधिक values की एक list में search करने के लिए किया जाता है, अगर एक भी value से match हुआ तो 1 (true ) return होगा otherwise 0 (false) .

Syntax

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 |
+--------------+

Concept of IN operator

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 भी कम लिखना पड़ता है।

MySQL IN operator and NULL

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 |
+-----------------+------------+

MySQL Where In Example

आप 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 के बारे में अच्छे से समझ गए होंगे।

Hey ! I'm Rahul founder of learnhindituts.com. Working in IT industry more than 4.5 years. I love to talk about programming as well as writing technical tutorials and blogs that can help to others .... keep learning :)

Get connected with me - LinkedIn Twitter Instagram Facebook