MySQL में एकाधिक कॉलम पर LIKE और AND: संयुक्त खोज
LIKE ऑपरेटर के साथ AND का उपयोग करके आप एक ही क्वेरी में दो या अधिक कॉलम पर पैटर्न मिलान कर सकते हैं।
उदाहरण: पहला नाम 'Joh' से शुरू और अंतिम नाम 'Sm' से शुरू
टेबल बनाएं:
CREATE TABLE DemoTable (
EmployeeFirstName VARCHAR(50),
EmployeeLastName VARCHAR(50)
);
INSERT INTO DemoTable VALUES
('John', 'Smith'), ('David', 'Miller'), ('John', 'Doe'), ('Adam', 'Smith'), ('Carol', 'Taylor');
डेटा:
+-------------------+------------------+ | EmployeeFirstName | EmployeeLastName | +-------------------+------------------+ | John | Smith | | David | Miller | | John | Doe | | Adam | Smith | | Carol | Taylor | +-------------------+------------------+
दोनों शर्तों के साथ खोज
SELECT * FROM DemoTable WHERE EmployeeFirstName LIKE 'Joh%' AND EmployeeLastName LIKE 'Sm%';
परिणाम:
+-------------------+------------------+ | EmployeeFirstName | EmployeeLastName | +-------------------+------------------+ | John | Smith | +-------------------+------------------+
पैटर्न समझें
'Joh%'— 'Joh' से शुरू (John, Johnathan, आदि)'Sm%'— 'Sm' से शुरू (Smith, Smiley, आदि)%— शून्य या अधिक अक्षर_— ठीक एक अक्षर
केस सेंसिटिविटी
- डिफॉल्ट: केस-इनसेंसिटिव (कोलेशन पर निर्भर)
- केस-सेंसिटिव:
WHERE EmployeeFirstName LIKE 'Joh%' COLLATE utf8mb4_bin - या बाइनरी:
WHERE BINARY EmployeeFirstName LIKE 'Joh%'
संयुक्त खोज के लिए इंडेक्स
ALTER TABLE DemoTable ADD FULLTEXT(EmployeeFirstName, EmployeeLastName);
SELECT * FROM DemoTable
WHERE MATCH(EmployeeFirstName, EmployeeLastName) AGAINST('John Smith');