MySQL AND In Hindi | AND In MySQL

📔 : MySQL 🔗

MySQL में कोई built in Boolean value नहीं है लेकिन यह 0 को FALSE और non zero values को TRUE मानता है। AND operator एक logical operator है जो दो या दो से अधिक boolean expression को combine करके 1 , 0 या NULL return करता है।

इस topic में हम AND operator के बारे में ही बात करेंगे।

normally AND operator तब 1 (true) return करता है जब compare किये जाने वाले दोनो expressions true हो otherwise 0 (false) , जैसा कि लगभग हर programming और electronic circuits में होता है।

For Example

true AND true = true; true AND false = false; false AND false = false;

अब हालाँकि MySQL में NULL का concept भी है तो NULL भी लगभग 0 की तरह ही work करेगा AND operator के लिए , मतलब false . लेकिन ध्यान रहे NULL और 0 same नहीं है।

Important

practice के लिए आप directly query run करके देख लेते हैं , किन combinations के साथ हमें true या false मिलेगा।

SELECT 1 AND 0, 0 AND 1, 0 AND 0, 1 AND 1;

Output

+---------+---------+---------+---------+
| 1 AND 0 | 0 AND 1 | 0 AND 0 | 1 AND 1 |
+---------+---------+---------+---------+
|       0 |       0 |       0 |       1 |
+---------+---------+---------+---------+
1 row in set (0.000 sec)

ऊपर दिया गया example तो 1 और 0 के साथ का है अब NULL के साथ का देख लेते हैं -

SELECT 1 AND NULL, NULL AND NULL, 0 AND NULL;

Output

+------------+---------------+------------+
| 1 AND NULL | NULL AND NULL | 0 AND NULL |
+------------+---------------+------------+
|       NULL |          NULL |          0 |
+------------+---------------+------------+
1 row in set (0.000 sec)

Use of AND Operator

MySQL में AND operator का use Where Clause के साथ , Table Joining में या किसी particular if else condition के साथ किया सकता है।

MySQL AND Example

Example के लिए हमारे पास एक users table है , सबसे पहले normally सभी records को fetch करके देखते हैं -

SELECT * FROM users;

Output

+----+--------+------------------+------------+---------+--------+
| id | name   | email            | mobileno   | address | salary|
+----+--------+------------------+------------+---------+--------+
|  1 | Raju   | askdj@gmail.com  | 3243907889 | India   |   1000 |
|  2 | Aman   | lfd@gmail.com    | 9043907889 | NULL    |   1200 |
|  3 | Babloo | bsdnas@gmail.com | NULL       | US      |   1030 |
|  4 | john   | Xaas@gmail.com   | 9100021321 | UAE     |    100 |
|  5 | Shaam  | Zaa@gmail.com    | 9100021334 | Russia  |    200 |
|  6 | kaam   | a@gmail.com      | 9100021326 | Turkey  |   1500 |
+----+--------+------------------+------------+---------+--------+
6 rows in set (0.000 sec)

Same table से अब हम वो records fetch करेंगे जहाँ पर salary 200 या बराबर लेकिन 1200 से कम या बराबर है -

SELECT * FROM users WHERE salary >= 200 AND salary <= 1200;

Output

+----+--------+------------------+------------+---------+--------+
| id | name   | email            | mobileno   | address | salary |
+----+--------+------------------+------------+---------+--------+
|  1 | Raju   | askdj@gmail.com  | 3243907889 | India   |   1000 |
|  2 | Aman   | lfd@gmail.com    | 9043907889 | NULL    |   1200 |
|  3 | Babloo | bsdnas@gmail.com | NULL       | US      |   1030 |
|  5 | Shaam  | Zaa@gmail.com    | 9100021334 | Russia  |    200 |
+----+--------+------------------+------------+---------+--------+
4 rows in set (0.000 sec)

Output में आप देख सकते हैं कि हमें ठीक condition के according ही records मिले हैं।
हालाँकि आप AND की जगह && का use भी कर सकते हैं।

SELECT * FROM users WHERE salary >= 200 && address = 'India';

Output

+----+------+-----------------+------------+---------+--------+
| id | name | email           | mobileno   | address | salary |
+----+------+-----------------+------------+---------+--------+
|  1 | Raju | askdj@gmail.com | 3243907889 | India   |   1000 |
+----+------+-----------------+------------+---------+--------+
1 row in set (0.002 sec)

यह जरूरी नहीं है कि 2 expressions को use करें , आप कितनीं ही conditions का use कर सकते हैं , जैसे

SELECT * FROM users WHERE salary >= 200 AND salary <= 1200 AND address='India';

Output

+----+------+-----------------+------------+---------+--------+
| id | name | email           | mobileno   | address | salary |
+----+------+-----------------+------------+---------+--------+
|  1 | Raju | askdj@gmail.com | 3243907889 | India   |   1000 |
+----+------+-----------------+------------+---------+--------+
1 row in set (0.001 sec)

MySQL Operator precedence

जब किसी condition में AND और OR
दोनों operators का use होता है , तो MySQL उस expression को evaluate / calculate करने के लिए operator precedence का use करती है। और higher precedence वाले expression पहले calculate होते हैं।

अब AND और OR operator में AND operator की higher precedence है इसलिए यह पहले evaluate होगा , इस आप query run करके भी हैं।

SELECT 1 OR 0 AND 0;

Output

+--------------+
| 1 OR 0 AND 0 |
+--------------+
|            1 |
+--------------+
1 row in set (0.000 sec)

Example में दिए गए expression में 1 OR 0 AND 0 evaluate करते time सबसे पहले 0 AND 0 evaluate होगा जो 0 (false) return करेगा उसके बाद 1 OR 0 बचेगा जो finally 1 (true) return करेगा।

इसे आप नीचे दिए गए statements से समझ सकते हैं।

1 OR 0 AND 0; 1 OR (0 AND 0); // 0 AND 0 returns 0. 1 OR 0; // result 1;

तो कुछ इस तरह से MySQL में AND operator का use किया जाता है , I Hope आपको समझ आया होगा।

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