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

รวมใช้ IN และ LIKE operators ใน MySQL ได้หรือไม่

ได้ครับ สามารถรวม IN และ LIKE ใน MySQL ได้โดยใช้ LIKE ร่วมกับ OR operator

สร้างตารางตัวอย่าง

mysql> create table DemoTable (
    -> SubjectTitle text
    -> );
Query OK, 0 rows affected (0.68 sec)

เพิ่มข้อมูลตัวอย่าง

mysql> insert into DemoTable values('Introduction To MySQL');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable values('Java in Depth');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values('Coding with Python');
Query OK, 1 row affected (0.54 sec)
mysql> insert into DemoTable values('C++ in Depth');
Query OK, 1 row affected (0.17 sec)

แสดงข้อมูลทั้งหมด

mysql> select * from DemoTable;

ผลลัพธ์

+-----------------------+
| SubjectTitle          |
+-----------------------+
| Introduction To MySQL |
| Java in Depth         |
| Coding with Python    |
| C++ in Depth          |
+-----------------------+
4 rows in set (0.00 sec)

คำสั่งใช้ LIKE และ OR ร่วมกัน

mysql> select * from DemoTable where SubjectTitle LIKE '%MySQL%' OR SubjectTitle LIKE 'C++%';

ผลลัพธ์

+-----------------------+
| SubjectTitle          |
+-----------------------+
| Introduction To MySQL |
| C++ in Depth          |
+-----------------------+
2 rows in set (0.00 sec)

คำอธิบาย: MySQL ไม่มี IN ร่วมกับ LIKE โดยตรง (เช่น WHERE col IN LIKE ('%A%', '%B%') ไม่ได้) ต้องแยกเป็นเงื่อนไข LIKE หลายอันแล้วเชื่อมด้วย OR