บทความนี้สาธิตการใช้ LIKE พร้อม Wildcard % เพื่อค้นหาแถวที่คอลัมน์ขึ้นต้นด้วยค่าเฉพาะ (Prefix Search)
สร้างตารางและข้อมูลทดสอบ
mysql> CREATE TABLE DemoTable690(
UserId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
UserValue VARCHAR(100)
);
Query OK, 0 rows affected (0.56 sec)
mysql> INSERT INTO DemoTable690(UserValue) VALUES('567890');
mysql> INSERT INTO DemoTable690(UserValue) VALUES('789032');
mysql> INSERT INTO DemoTable690(UserValue) VALUES('567342');
mysql> INSERT INTO DemoTable690(UserValue) VALUES('890678');
คิวรีค้นหาขึ้นต้นด้วย 567
mysql> SELECT * FROM DemoTable690 WHERE UserValue LIKE '567%';
ผลลัพธ์
+--------+-----------+
| UserId | UserValue |
+--------+-----------+
| 1 | 567890 |
| 3 | 567342 |
+--------+-----------+
คำอธิบาย Wildcard:
%- แทนตัวอักษรใดๆ จำนวนเท่าไรก็ได้ (รวม 0 ตัว)_- แทนตัวอักษรใดๆ เพียง 1 ตัว'567%'- ขึ้นต้นด้วย 567 ตามด้วยอะไรก็ได้'%567'- ลงท้ายด้วย 567'%567%'- มี 567 อยู่ตรงไหนก็ได้
ประสิทธิภาพ: LIKE 'prefix%' สามารถใช้ Index ได้ (Sargable) แต่ LIKE '%suffix' หรือ LIKE '%middle%' ใช้ Index ไม่ได้ → Full Table Scan