Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Menggabungkan Berbilang Penyata PILIH dengan Cekap untuk Mencari Baris Padanan?

Bagaimanakah Saya Boleh Menggabungkan Berbilang Penyata PILIH dengan Cekap untuk Mencari Baris Padanan?

Linda Hamilton
Lepaskan: 2024-12-30 18:44:17
asal
869 orang telah melayarinya

How Can I Efficiently Combine Multiple SELECT Statements to Find a Matching Row?

Cara Mencuba Berbilang PILIHAN Sehingga Keputusan Tersedia

Mencari baris tertentu dalam jadual boleh melibatkan berbilang kriteria dengan tahap yang berbeza-beza. ketepatan. Pendekatan biasa ialah menggunakan berbilang pernyataan SELECT dengan ketepatan yang semakin meningkat sehingga padanan ditemui, seperti:

SELECT * FROM image WHERE name LIKE 'text' AND group_id = 10 LIMIT 1
Salin selepas log masuk
SELECT * FROM image WHERE name LIKE 'text' LIMIT 1
Salin selepas log masuk
SELECT * FROM image WHERE group_id = 10 LIMIT 1
Salin selepas log masuk

Adakah Terdapat Penyelesaian Ekspresi Tunggal?

Walaupun tidak mungkin untuk menulis satu ungkapan yang merangkumi semua pernyataan SELECT, operator UNION ALL boleh digunakan untuk menggabungkan berbilang PILIH penyataan ke dalam satu pertanyaan:

SELECT * FROM image WHERE name = 'name105' AND group_id = 10
UNION ALL
SELECT * FROM image WHERE name = 'name105'
UNION ALL
SELECT * FROM image WHERE group_id = 10
LIMIT 1;
Salin selepas log masuk

Pertanyaan ini dengan cekap mendapatkan semula baris pertama yang sepadan dengan mana-mana syarat yang ditentukan, dengan mengambil kira indeks untuk pelaksanaan pantas.

Mengendalikan Parameter Carian Berbilang

Untuk kes dengan berbilang parameter carian, pendekatan UNION ALL boleh dilanjutkan dengan menambah penyataan SELECT tambahan untuk setiap kombinasi parameter. Sebagai contoh, jika mencari imej dengan nama atau ID kumpulan tertentu:

SELECT * FROM image WHERE name = 'name105' AND author = 'author10'
UNION ALL
SELECT * FROM image WHERE name = 'name105'
UNION ALL
SELECT * FROM image WHERE author = 'author10'
LIMIT 1;
Salin selepas log masuk

Pertimbangan Relevan

Walaupun pendekatan ini menggabungkan berbilang kriteria carian secara berkesan, pendekatan ini tidak menganggap relevan. Dalam kes di mana perkaitan adalah penting, pengisihan atau penapisan tambahan dalam pernyataan SELECT mungkin diperlukan sebelum menggunakan UNION ALL.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggabungkan Berbilang Penyata PILIH dengan Cekap untuk Mencari Baris Padanan?. 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