OR অপারেটর দিয়ে একাধিক LIKE শর্ত जोড়া দিয়ে সার্চ করা যায়।
টেবিল ও ডেটা:
mysql> CREATE TABLE DemoTable2009 (Name VARCHAR(20));
mysql> INSERT INTO DemoTable2009 VALUES
('John Doe'), ('Adam Smith'), ('John Smith'), ('David Miller');
"Smith" বা "David" ধারণকারী নাম সার্চ:
mysql> SELECT * FROM DemoTable2009
WHERE Name LIKE '%Smith%' OR Name LIKE '%David%';
আউটপুট:
+--------------+ | Name | +--------------+ | Adam Smith | | John Smith | | David Miller | +--------------+
ব্যাখ্যা
%Smith%— "Smith" শব্দ যেকোনো জায়গায় থাকলে ম্যাচ।%David%— "David" শব্দ যেকোনো জায়গায় থাকলে ম্যাচ।OR— যেকোনো একটি শর্ত পূরণ হলে রো রিটার্ন।
পারফরম্যান্স টিপ
- শুরুতে 와일্ডকার্ড (
%text%) ইনডেক্স ব্যবহার করতে দেয় না (ফুল টেবিল স্ক্যান)। - বড় টেবিলে Full-Text Search বা Sphinx/Elasticsearch ব্যবহার করুন।
LIKE 'text%'(সাফিক্স ওয়াইল্ডকার্ড) ইনডেক্স ব্যবহার করতে পারে।