MySQL में LIKE को OR के साथ जोड़कर कई पैटर्न से मिलान कर सकते हैं। यह IN ऑपरेटर के समान परिणाम देता है लेकिन पैटर्न मिलान के लिए।
केस 1: LIKE के साथ OR
SELECT * FROM yourTableName WHERE column LIKE 'pattern1%' OR column LIKE 'pattern2%' OR column LIKE 'pattern3%';
केस 2: IN ऑपरेटर (सटीक मिलान)
SELECT * FROM yourTableName WHERE column IN ('value1', 'value2', 'value3');
उदाहरण
टेबल बनाएं:
CREATE TABLE LikeDemo (Id VARCHAR(20));
INSERT INTO LikeDemo VALUES ('John123'), ('Smith205'), ('Bob999'), ('Carol9091'), ('Johnson2222'), ('David2345');
LIKE + OR
SELECT * FROM LikeDemo WHERE Id LIKE 'John123%' OR Id LIKE 'Carol9091%' OR Id LIKE 'David2345%';
परिणाम: John123, Carol9091, David2345
IN ऑपरेटर
SELECT * FROM LikeDemo WHERE Id IN ('John123', 'Carol9091', 'David2345');
समान परिणाम
तुलना
| विशेषता | LIKE + OR | IN |
|---|---|---|
| पैटर्न मिलान | हाँ (% _ वाइल्डकार्ड) | नहीं (सटीक मिलान) |
| केस सेंसिटिविटी | कोलेशन पर निर्भर | कोलेशन पर निर्भर |
| प्रदर्शन | धीमा (इंडेक्स उपयोग सीमित) | तेज (इंडेक्स उपयोग बेहतर) |
| पठनीयता | कम | अधिक |
नोट
LIKEवाइल्डकार्ड:%(कोई भी वर्ण),_(एक वर्ण)- प्रारंभ में
%न होने पर इंडेक्स उपयोग संभव - कई LIKE के लिए
REGEXPविकल्प:WHERE column REGEXP 'pattern1|pattern2'