Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mencari Berbilang Nilai dengan Cekap dalam Medan Tunggal dalam SQL?

Bagaimana untuk Mencari Berbilang Nilai dengan Cekap dalam Medan Tunggal dalam SQL?

Linda Hamilton
Lepaskan: 2024-10-29 02:55:02
asal
1042 orang telah melayarinya

  How to Efficiently Search for Multiple Values within a Single Field in SQL?

Cara Mencari Berbilang Nilai dalam Medan Yang Sama dalam SQL

Apabila membina algoritma carian, selalunya perlu memutuskan rentetan ke bahagian komponennya dan cari setiap bahagian secara individu. Ini amat berguna apabila berurusan dengan istilah carian yang dipisahkan oleh ruang.

Untuk mencapai ini dalam SQL, seseorang mungkin mempertimbangkan untuk menggunakan operator LIKE dengan kad bebas untuk memadankan mana-mana aksara sebelum dan selepas setiap istilah carian. Walau bagaimanapun, pendekatan ini tidak begitu cekap, kerana ia memerlukan berbilang klausa LIKE dan boleh membawa kepada isu prestasi.

Sebaliknya, penyelesaian yang lebih berkesan ialah menggunakan operator IN. Operator IN membenarkan anda mencari nilai yang sepadan dengan mana-mana nilai yang dinyatakan dalam senarai. Sebagai contoh, pertanyaan berikut mencari produk yang mengandungi sama ada "Sony" atau "TV" dalam namanya:

SELECT name FROM Products WHERE name IN ('Sony', 'TV');
Salin selepas log masuk

Untuk mencari berbilang nilai yang dipisahkan oleh ruang, hanya pecahkan rentetan kepada tatasusunan dan gunakan operator IN seperti berikut:

$search = "Sony TV with FullHD support";
$search = explode(' ', $search);

SELECT name
FROM Products
WHERE name IN (
    $search[0],
    $search[1],
    ...
);
Salin selepas log masuk

Sebagai alternatif, anda boleh menggunakan OR dengan operator LIKE seperti yang ditunjukkan di bawah:

SELECT name
FROM Products
WHERE name LIKE '%$search[0]%' OR
      name LIKE '%$search[1]%' OR
      ...;
Salin selepas log masuk

Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa menggunakan OR memerlukan di sekurang-kurangnya satu syarat adalah benar, manakala DAN memerlukan semua syarat adalah benar.

Atas ialah kandungan terperinci Bagaimana untuk Mencari Berbilang Nilai dengan Cekap dalam Medan Tunggal dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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