สามารถรวมเงื่อนไข LIKE สองรายการด้วยตัวดำเนินการ OR ได้
ไวยากรณ์
SELECT * FROM yourTableName WHERE (yourColumnName LIKE '%value1%' OR yourColumnName LIKE '%value2%') AND yourColumnName = someValue;
ตัวอย่างการใช้งาน
สร้างตาราง ORLikeDemo:
mysql> CREATE TABLE ORLikeDemo (
-> Id INT NOT NULL AUTO_INCREMENT,
-> FirstName VARCHAR(15),
-> LastName VARCHAR(15),
-> PRIMARY KEY(Id)
-> );
เพิ่มข้อมูลทดสอบ:
mysql> INSERT INTO ORLikeDemo(FirstName, LastName) VALUES('John', 'Smith');
mysql> INSERT INTO ORLikeDemo(FirstName, LastName) VALUES('Carol', 'Taylor');
mysql> INSERT INTO ORLikeDemo(FirstName, LastName) VALUES('John', 'Doe');
mysql> INSERT INTO ORLikeDemo(FirstName, LastName) VALUES('Bob', 'Jones');
mysql> INSERT INTO ORLikeDemo(FirstName, LastName) VALUES('David', 'Miller');
mysql> INSERT INTO ORLikeDemo(FirstName, LastName) VALUES('Mike', 'Williams');
mysql> INSERT INTO ORLikeDemo(FirstName, LastName) VALUES('Sam', 'Taylor');
ข้อมูลทั้งหมด
+----+-----------+----------+ | Id | FirstName | LastName | +----+-----------+----------+ | 1 | John | Smith | | 2 | Carol | Taylor | | 3 | John | Doe | | 4 | Bob | Jones | | 5 | David | Miller | | 6 | Mike | Williams | | 7 | Sam | Taylor | +----+-----------+----------+
คำสั่งใช้ LIKE ร่วมกับ OR
mysql> SELECT * FROM ORLikeDemo
-> WHERE (LastName LIKE '%Smith%' OR LastName LIKE '%Doe%')
-> AND Id = 3;
ผลลัพธ์
+----+-----------+----------+ | Id | FirstName | LastName | +----+-----------+----------+ | 3 | John | Doe | +----+-----------+----------+
คำอธิบาย: คำสั่งนี้ค้นหาแถวที่ LastName มีคำว่า "Smith" หรือ "Doe" และ Id เท่ากับ 3