Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

วิธีใช้ OR ร่วมกับ LIKE สองเงื่อนไขใน MySQL

สามารถรวมเงื่อนไข 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