MySQL में एक ही मान के लिए कई कॉलम जांचने के लिए IN ऑपरेटर का उपयोग करें।
सिंटैक्स
SELECT * FROM yourTableName WHERE 'searchValue' IN (column1, column2, column3, ...);
उदाहरण
टेबल बनाएं:
CREATE TABLE OneValueFromAllColumns (
StudentId INT,
StudentFirstname VARCHAR(200),
StudentLastname VARCHAR(200),
StudentAge INT
);
डेटा डालें:
INSERT INTO OneValueFromAllColumns VALUES (1, 'John', 'Smith', 23), (2, 'Carol', 'Taylor', 22), (3, 'Maria', 'Garcia', 19), (4, 'Bob', 'Wilson', 21);
'Taylor' खोजें
SELECT * FROM OneValueFromAllColumns WHERE 'Taylor' IN (StudentId, StudentFirstname, StudentLastname, StudentAge);
परिणाम: पंक्ति 2 (Carol Taylor)
व्याख्या
'Taylor' IN (col1, col2, col3, col4)का अर्थ: 'Taylor' किसी भी कॉलम के मान के बराबर है- यह
col1='Taylor' OR col2='Taylor' OR col3='Taylor' OR col4='Taylor'के बराबर है - प्रकार भिन्न होने पर MySQL अंतर्निहित रूपांतरण करता है (चेतावनी दे सकता है)
बेहतर दृष्टिकोण: स्पष्ट तुलना
SELECT * FROM OneValueFromAllColumns WHERE StudentId = 'Taylor' OR StudentFirstname = 'Taylor' OR StudentLastname = 'Taylor' OR StudentAge = 'Taylor';
नोट
INसूची में स्थिर मान होने चाहिए, कॉलम नाम नहीं (यहाँ उल्टा है)- प्रदर्शन के लिए इंडेक्स पर विचार करें
- प्रकार मिलान सुनिश्चित करें