Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menyoal Berbilang Nilai dengan Cekap dengan Pengendali LIKE MySQL?

Bagaimana untuk Menyoal Berbilang Nilai dengan Cekap dengan Pengendali LIKE MySQL?

Mary-Kate Olsen
Lepaskan: 2025-01-06 03:37:39
asal
896 orang telah melayarinya

How to Efficiently Query Multiple Values with MySQL's LIKE Operator?

Berbilang Nilai dalam MySQL LIKE Query

Dalam pangkalan data, pengendali LIKE biasanya digunakan untuk memadankan corak dalam rentetan. Walau bagaimanapun, ia boleh menjadi rumit apabila anda perlu mencari padanan untuk berbilang nilai dalam satu medan. Artikel ini meneroka isu menanyakan berbilang nilai menggunakan operator LIKE dalam MySQL.

Mengapa Pertanyaan LIKE Tidak Berfungsi

Mengikut pertanyaan yang anda berikan:

SELECT * FROM table WHERE interests LIKE ('%sports%', '%pub%')
Salin selepas log masuk

Pertanyaan ini bertujuan untuk mendapatkan semula baris yang medan 'minat' mengandungi sama ada 'sukan' atau 'pub' atau kedua-duanya. Walau bagaimanapun, ia mungkin tidak menghasilkan hasil yang diingini kerana LIKE menyemak kehadiran corak yang ditentukan secara berurutan. Dalam kes ini, ia mencari '%sports%' dahulu, yang wujud dalam semua baris, dan kemudian '%pub%', yang hanya wujud dalam satu baris. Jadi, anda hanya akan mendapat baris yang mengandungi kedua-dua 'sukan' dan 'pub.'

Penyelesaian Lebih Pantas dan Lebih Cekap

Daripada menggunakan LIKE dengan berbilang corak, pertimbangkan alternatif berikut:

ATAU Logik Operator:

WHERE interests LIKE '%sports%' OR interests LIKE '%pub%'
Salin selepas log masuk

Pertanyaan ini menggunakan operator logik ATAU untuk menggabungkan dua pernyataan SUKA. Ia akan mengembalikan mana-mana baris yang sepadan dengan mana-mana corak. Kaedah ini biasanya lebih pantas daripada LIKE dengan berbilang corak.

Ungkapan Biasa REGEXP:

WHERE interests REGEXP 'sports|pub'
Salin selepas log masuk

Pengendali REGEXP membenarkan anda mencari ungkapan biasa. Dalam kes ini, ungkapan 'sukan|pub' bermaksud ia akan mencari padanan sama ada untuk 'sukan' atau 'pub.' REGEXP boleh menjadi alat yang berkuasa untuk padanan corak yang lebih kompleks.

Pautan Rujukan:

  • Perbincangan Forum MySQL: http://forums.mysql.com/read.php?10,392332,392950#msg-392950
  • Dokumentasi MySQL REGEXP: http://www.tutorialspoint.com/mysql/mysql-regexps.htm

Atas ialah kandungan terperinci Bagaimana untuk Menyoal Berbilang Nilai dengan Cekap dengan Pengendali LIKE MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan