Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में कई OR स्टेटमेंट के बजाय IN() ऑपरेटर का उपयोग करें

कई OR शर्तों के बजाय MySQL में IN() ऑपरेटर का उपयोग अधिक पठनीय, संक्षिप्त और अक्सर तेज़ होता है।

तुलना

❌ कम कुशल: कई OR

SELECT * FROM DemoTable 
WHERE Id = 2 OR Id = 3 OR Id = 5;

✅ बेहतर: IN() ऑपरेटर

SELECT * FROM DemoTable 
WHERE Id IN (2, 3, 5);

उदाहरण

1. टेबल बनाएं

mysql> CREATE TABLE DemoTable (
    -> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> FirstName VARCHAR(20)
    -> );

2. डेटा डालें

mysql> INSERT INTO DemoTable(FirstName) VALUES('John');
mysql> INSERT INTO DemoTable(FirstName) VALUES('Adam');
mysql> INSERT INTO DemoTable(FirstName) VALUES('David');
mysql> INSERT INTO DemoTable(FirstName) VALUES('Mike');
mysql> INSERT INTO DemoTable(FirstName) VALUES('Bob');

3. IN() क्वेरी

mysql> SELECT * FROM DemoTable WHERE Id IN (2, 3, 5);

4. परिणाम

+----+-----------+
| Id | FirstName |
+----+-----------+
| 2  | Adam      |
| 3  | David     |
| 5  | Bob       |
+----+-----------+

IN() के लाभ

  • पठनीयता: साफ़ और संक्षिप्त सिंटैक्स
  • रखरखाव: मान जोड़ना/हटाना आसान
  • प्रदर्शन: ऑप्टिमाइज़र बेहतर योजना बना सकता है
  • सबक्वेरी समर्थन: IN (SELECT ...) उपयोग कर सकते हैं

NOT IN

विपरीत के लिए NOT IN() का उपयोग करें:

SELECT * FROM DemoTable WHERE Id NOT IN (2, 3, 5);

सावधानी

IN() में NULL मान होने पर अप्रत्याशित परिणाम दे सकता है। ऐसे मामलों में EXISTS या स्पष्ट NULL जांच बेहतर है।

  1. - MySQL DELETE क्वेरी का उपयोग करके चुनिंदा एकाधिक रिकॉर्ड हटाएं

    IN() ऑपरेटर के साथ DELETE स्टेटमेंट का उपयोग करके एक ही क्वेरी में कई विशिष्ट रिकॉर्ड हटाएं। टेबल बनाना और डेटा डालना CREATE TABLE DemoTable ( ClientId VARCHAR(40), ClientName VARCHAR(50) ); Query OK, 0 rows affected (0.62 sec) INSERT INTO DemoTable VALUES(CLI-240,Sam); हटाने से पहले S

  1. - MySQL में AND/OR का उपयोग करके चयन क्वेरी निष्पादित करें

    AND और OR तार्किक ऑपरेटर को मिलाकर एक ही क्वेरी में कई फ़िल्टर शर्तें लागू करें। टेबल बनाना और डेटा डालना CREATE TABLE DemoTable ( StudentId INT, StudentName VARCHAR(20), StudentSubject VARCHAR(20) ); Query OK, 0 rows affected (0.62 sec) INSERT INTO DemoTable VALUES (10,Chris,MongoDB

  1. - MySQL में एकल क्वेरी में मल्टीपल LIKE ऑपरेटर लागू करें

    MySQL में एक ही क्वेरी में मल्टीपल LIKE क्लॉज का उपयोग करने के लिए, आप उन्हें OR/AND ऑपरेटर्स के साथ जोड़ सकते हैं। सिंटैक्स: SELECT * FROM yourTableName WHERE (yourColumnName1 LIKE %yourValue1% OR yourColumnName2 LIKE %yourValue2%) OR (yourColumnName3 LIKE %yourValue3%); उदाहरण के लिए एक टेब