समाधान: IN ऑपरेटर
किसी कॉलम की तुलना एकाधिक मानों से करने के लिए IN ऑपरेटर का उपयोग करें। यह एकाधिक OR शर्तों से अधिक संक्षिप्त और पठनीय है।
सिंटैक्स
SELECT * FROM yourTableName
WHERE yourColumnName IN ('value1', 'value2', 'value3', ...N);
व्यावहारिक उदाहरण
टेबल बनाना और डेटा डालना
mysql> CREATE TABLE InOperatorDemo (ClientId INT); mysql> INSERT INTO InOperatorDemo VALUES (101), (110), (120), (230), (270), (300);
IN ऑपरेटर के साथ क्वेरी
mysql> SELECT * FROM InOperatorDemo
-> WHERE ClientId IN ('120', '270', '300');
परिणाम
| ClientId |
|---|
| 120 |
| 270 |
| 300 |
लाभ
- पठनीयता: एकाधिक OR शर्तों से बेहतर
- प्रदर्शन: ऑप्टिमाइज़र द्वारा बेहतर तरीके से संभाला जाता है
- रखरखाव: मान सूची को आसानी से संशोधित कर सकते हैं
संबंधित ऑपरेटर
NOT IN- सूची में नहीं होने वाले मानIN (subquery)- उपक्वेरी के परिणामों के साथ तुलना