Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Melakukan Padanan Rentetan Separa dalam SQL Joins menggunakan LIKE?

Bagaimana untuk Melakukan Padanan Rentetan Separa dalam SQL Joins menggunakan LIKE?

Patricia Arquette
Lepaskan: 2024-11-03 21:29:29
asal
1056 orang telah melayarinya

How to Perform Partial String Matching in SQL Joins using LIKE?

Menyertai Jadual dengan LIKE dalam SQL

Apabila melakukan gabungan, anda mungkin menghadapi senario di mana keadaan padanan memerlukan padanan rentetan separa menggunakan LIKE pengendali. Ini melibatkan pemadanan lajur dalam satu jadual dengan lajur dalam jadual lain, dengan nilai yang sepadan boleh mempunyai aksara mendahului atau mengekorinya.

Untuk menangani perkara ini, anda boleh menggunakan beberapa pendekatan:

Menggunakan INSTR:

Kaedah ini menggunakan fungsi INSTR, yang menyemak sama ada subrentetan wujud dalam rentetan.

<code class="sql">SELECT *
FROM TABLE a
JOIN TABLE b ON INSTR(b.column, a.column) > 0</code>
Salin selepas log masuk

Menggunakan LIKE:

Sebagai alternatif, anda boleh menggunakan operator LIKE dengan kad bebas % untuk memadankan sebarang bilangan aksara.

<code class="sql">SELECT *
FROM TABLE a
JOIN TABLE b ON b.column LIKE '%'+ a.column +'%'</code>
Salin selepas log masuk

Menggunakan LIKE dengan CONCAT:

Satu lagi teknik melibatkan penggabungan % kad bebas dengan nilai lajur menggunakan fungsi CONCAT.

<code class="sql">SELECT *
FROM TABLE a
JOIN TABLE b ON b.column LIKE CONCAT('%', a.column ,'%')</code>
Salin selepas log masuk

Padanan Tidak Peka Huruf:

Dalam semua kes, disyorkan untuk menukar lajur nilai kepada huruf besar sebelum perbandingan untuk memastikan padanan tidak peka huruf besar-kecil.

<code class="sql">SELECT *
FROM (SELECT UPPER(a.column) 'ua'
         FROM TABLE a) a
JOIN (SELECT UPPER(b.column) 'ub'
         FROM TABLE b) b ON INSTR(b.ub, a.ua) > 0</code>
Salin selepas log masuk

Pilihan kaedah akan bergantung pada faktor seperti kecekapan dan keserasian pangkalan data. Rujuk keluaran rancangan EXPLAIN untuk menentukan pendekatan optimum. Ambil perhatian bahawa sintaks JOIN adalah bersamaan dengan klausa WHERE yang setara.

Atas ialah kandungan terperinci Bagaimana untuk Melakukan Padanan Rentetan Separa dalam SQL Joins menggunakan LIKE?. 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