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

MySQL WHERE क्लॉज में IN() का उपयोग करके वैकल्पिक ID रिकॉर्ड प्रदर्शित करना (लूप जैसा परिणाम)

MySQL में IN() ऑपरेटर के साथ विशिष्ट ID सूची के रिकॉर्ड चुनना

IN() ऑपरेटर का उपयोग करके किसी कॉलम के मान को मानों की सूची के विरुद्ध जांचा जा सकता है। यह लूप के माध्यम से वैकल्पिक/विशिष्ट ID चुनने के समान परिणाम देता है।

व्यावहारिक उदाहरण

तालिका बनाना

mysql> CREATE TABLE DemoTable (
    ClientId INT,
    ClientName VARCHAR(100),
    ClientAge INT
);

रिकॉर्ड डालना

mysql> INSERT INTO DemoTable VALUES(100, 'Chris', 34);
mysql> INSERT INTO DemoTable VALUES(101, 'Robert', 31);
mysql> INSERT INTO DemoTable VALUES(103, 'David', 33);
mysql> INSERT INTO DemoTable VALUES(104, 'Mike', 45);
mysql> INSERT INTO DemoTable VALUES(105, 'Sam', 39);

सभी रिकॉर्ड देखना

mysql> SELECT * FROM DemoTable;

आउटपुट:

+----------+------------+-----------+
| ClientId | ClientName | ClientAge |
+----------+------------+-----------+
| 100      | Chris      | 34        |
| 101      | Robert     | 31        |
| 103      | David      | 33        |
| 104      | Mike       | 45        |
| 105      | Sam        | 39        |
+----------+------------+-----------+

वैकल्पिक ID (101, 103, 105) चुनने के लिए क्वेरी

mysql> SELECT ClientId, ClientName, ClientAge 
FROM DemoTable 
WHERE ClientId IN(101, 103, 105);

आउटपुट:

+----------+------------+-----------+
| ClientId | ClientName | ClientAge |
+----------+------------+-----------+
| 101      | Robert     | 31        |
| 103      | David      | 33        |
| 105      | Sam        | 39        |
+----------+------------+-----------+

IN() के लाभ

  • पठनीय और संक्षिप्त
  • कई OR शर्तों से बेहतर: WHERE Id=101 OR Id=103 OR Id=105
  • ऑप्टिमाइज़र इंडेक्स का उपयोग कर सकता है
  • मानों की सूची डायनामिक रूप से बनाई जा सकती है

बड़े IN सूचियों के लिए


            
  1. - MySQL में LIKE वाइल्डकार्ड से केस-इनसेंसिटिव खोज कैसे करें?

    LOWER() या UPPER() से केस-इनसेंसिटिव खोज करें। उदाहरण CREATE TABLE InCaseSensDemo (Name VARCHAR(100)); INSERT INTO InCaseSensDemo VALUES (JOhN), (bob), (BoB), (Bob); -- केस-इनसेंसिटिव LIKE SELECT * FROM InCaseSensDemo WHERE LOWER(Name) LIKE bob%; आउटपुट +------+ | Name | +------+ | bob | | BoB

  1. - MySQL में SUM() फंक्शन के परिणाम का WHERE क्लॉज में उपयोग: HAVING क्लॉज का उपयोग करें

    MySQL WHERE vs HAVING: एग्रीगेट फंक्शन के परिणाम पर फ़िल्टर WHERE क्लॉज पंक्तियों को समूहित करने पहले फ़िल्टर करता है, इसलिए इसमें एग्रीगेट फंक्शन (SUM, COUNT, AVG, आदि) उपयोग नहीं कर सकते। एग्रीगेट परिणाम पर फ़िल्टर के लिए HAVING क्लॉज का उपयोग करें। उदाहरण: कुल कीमत 40 से अधिक वाले नाम टेबल बनाएं

  1. - MySQL में IN() ऑपरेटर का उपयोग करके एक WHERE क्लॉज से कई पंक्तियों को कैसे अपडेट करें?

    MySQL IN() ऑपरेटर के साथ बल्क अपडेट MySQL में IN() ऑपरेटर का उपयोग करके आप एक ही WHERE क्लॉज में कई मानों को निर्दिष्ट कर सकते हैं, जिससे एकाधिक पंक्तियों को एक साथ अपडेट करना आसान हो जाता है। उदाहरण: कर्मचारी नामों को बल्क में अपडेट करना पहले एक टेबल बनाते हैं और डेटा डालते हैं: SELECT * FROM Dem