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 सूचियों के लिए