Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Menggunakan Pelbagai Keadaan dengan Cekap dengan Pengendali LIKE SQL?

Bagaimanakah Saya Boleh Menggunakan Pelbagai Keadaan dengan Cekap dengan Pengendali LIKE SQL?

Susan Sarandon
Susan Sarandonasal
2025-01-08 14:17:42745semak imbas

Berbilang syarat untuk penggunaan cekap pengendali SQL LIKE

Pengendali LIKE dalam SQL digunakan untuk mencari rentetan yang mengandungi corak tertentu. Biasanya, kami menambahkan aksara kad bebas seperti % pada corak padanan. Walau bagaimanapun, jika kita ingin memperkenalkan berbilang syarat menggunakan LIKE, kaedah ATAU tradisional mungkin bukan pilihan terbaik.

Alternatif: Jadual sementara

Cara yang lebih baik untuk memperkenalkan berbilang syarat dalam operator LIKE adalah dengan mencipta jadual sementara. Contohnya adalah seperti berikut:

<code class="language-sql">CREATE TEMPORARY TABLE patterns (
  pattern VARCHAR(20)
);

INSERT INTO patterns VALUES ('ABC%'), ('XYZ%'), ('PQR%');

SELECT t.*
FROM tbl t
JOIN patterns p ON (t.col LIKE p.pattern);</code>

Dalam contoh ini, kami mencipta jadual sementara bernama corak untuk menyimpan berbilang corak padanan. Kami kemudian memasukkan skema yang diperlukan ke dalam jadual ini. Akhir sekali, kami melakukan operasi JOIN antara jadual tbl dan jadual corak untuk mencari baris yang sepadan berdasarkan lajur corak.

Perlawanan unik

Dalam contoh di atas, kami menganggap bahawa corak adalah unik dan setiap baris dalam jadual tbl hanya sepadan dengan satu corak. Walau bagaimanapun, jika terdapat berbilang kemungkinan padanan, kami boleh menggunakan pengubah suai pertanyaan DISTINCT untuk memastikan hasil yang unik.

<code class="language-sql">SELECT DISTINCT t.*
FROM tbl t
JOIN patterns p ON (t.col LIKE p.pattern);</code>

Dengan pengubahsuaian ini, kami menjamin bahawa setiap baris dalam jadual tbl hanya muncul sekali dalam hasil carian, walaupun ia sepadan dengan berbilang corak.

How Can I Efficiently Use Multiple Conditions with SQL's LIKE Operator?

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Pelbagai Keadaan dengan Cekap dengan Pengendali LIKE SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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