Pemadanan Berbilang Perkataan dalam MySQL Menggunakan SELECT LIKE atau REGEXP
Pernyataan SELECT dalam SQL membenarkan untuk menapis rekod berdasarkan kriteria tertentu. Apabila berurusan dengan data berbilang perkataan, seperti nama produk atau perihalan, mungkin sukar untuk mencari rekod yang sepadan dengan berbilang perkataan.
LIKE lwn. REGEXP
MySQL menyediakan dua operator yang boleh digunakan untuk pemadanan kad bebas: LIKE dan REGEXP. LIKE menggunakan % kad bebas untuk memadankan sifar atau lebih aksara, manakala REGEXP membenarkan pemadanan ungkapan biasa yang lebih kompleks.
Memadankan Berbilang Perkataan dengan LIKE
Dalam contoh yang diberikan, pertanyaan SELECT name FROM table WHERE name LIKE '%Stylus 2100%' tidak mengembalikan sebarang hasil kerana ia tidak sepadan dengan kedua-dua perkataan dalam rekod. Untuk mencapai padanan berbilang perkataan dengan LIKE, anda boleh menggunakan pendekatan berikut:
SELECT name FROM `table` WHERE `name` LIKE '%Stylus%' AND `name` LIKE '%2100%'
Pertanyaan ini akan memilih rekod yang mengandungi kedua-dua "Stylus" dan "2100" dalam sebarang susunan.
Memadankan Berbilang Perkataan dengan REGEXP
REGEXP menawarkan cara yang lebih berkuasa untuk memadankan berbilang perkataan dengan menggunakan ungkapan biasa. Pertanyaan berikut menggunakan ungkapan biasa untuk memadankan rekod yang mengandungi "Stylus" diikuti oleh satu atau lebih aksara diikuti dengan "2100":
SELECT name FROM `table` WHERE `name` REGEXP 'Stylus.+2100'
Pertanyaan ini akan mengembalikan rekod dengan nilai "Stylus Photo 2100" .
Atas ialah kandungan terperinci Bagaimana untuk Memadankan Berbilang Perkataan dengan Cekap dalam MySQL Menggunakan LIKE atau REGEXP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!