Rumah >pangkalan data >tutorial mysql >Bagaimanakah saya mencari Berbilang Nilai dalam Medan SQL yang Sama?
Mencari Berbilang Nilai dalam Medan SQL yang Sama
Apabila membina algoritma carian, selalunya wajar untuk melakukan carian pada berbilang nilai dalam medan pangkalan data . Ini boleh dicapai menggunakan sama ada pengendali SQL IN atau operator LIKE dengan kata kunci OR.
SQL IN Operator
Operator IN membolehkan anda mencari rekod di mana nilai medan sepadan dengan satu daripada berbilang nilai yang ditentukan. Ini berguna apabila nilai yang anda cari diketahui terlebih dahulu. Contohnya:
<code class="sql">SELECT name FROM products WHERE name IN ('Value1', 'Value2', ...)</code>
SQL LIKE Operator dengan OR
Sebagai alternatif, jika anda ingin melakukan carian pada berbilang nilai menggunakan operator LIKE, anda harus menggunakan ATAU kata kunci untuk menggabungkan syarat carian. Ini membolehkan anda mencari rekod di mana nilai medan mengandungi mana-mana nilai yang ditentukan. Contohnya:
<code class="sql">SELECT name FROM products WHERE name LIKE '%Value1%' OR name LIKE '%Value2%'</code>
Menggunakan DAN lawan ATAU
Perbezaan utama antara menggunakan DAN dan ATAU ialah DAN memerlukan semua syarat adalah benar untuk perlawanan, manakala ATAU memerlukan hanya satu syarat untuk menjadi benar. Dalam contoh anda, menggunakan DAN memerlukan kedua-dua istilah "Sony" dan "TV" untuk hadir dalam lajur nama, manakala menggunakan OR memerlukan mana-mana istilah untuk hadir.
Oleh itu, jika anda ingin mencari untuk rekod yang mengandungi semua nilai yang ditentukan, anda harus menggunakan DAN. Jika anda ingin mencari rekod yang mengandungi sekurang-kurangnya satu daripada nilai yang ditentukan, anda harus menggunakan ATAU.
Atas ialah kandungan terperinci Bagaimanakah saya mencari Berbilang Nilai dalam Medan SQL yang Sama?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!