Coba sesuatu seperti ini:
SELECT * FROM clients WHERE CONCAT(field1, '', field2, '', fieldn) LIKE "%Mary%"
Anda mungkin ingin melihat dokumen SQL untuk informasi tambahan tentang operator string dan ekspresi reguler.
Sunting:Mungkin ada beberapa masalah dengan bidang NULL, jadi untuk berjaga-jaga jika Anda mungkin ingin menggunakan IFNULL(field_i, '')
alih-alih hanya field_i
Sensitivitas huruf besar/kecil :Anda dapat menggunakan susunan case-insensitive atau sesuatu seperti ini:
... WHERE LOWER(CONCAT(...)) LIKE LOWER("%Mary%")
Cukup telusuri semua bidang :Saya percaya tidak ada cara untuk membuat kueri SQL yang akan mencari di semua bidang tanpa secara eksplisit menyatakan bidang yang akan dicari. Alasannya adalah ada teori basis data relasional dan aturan ketat untuk memanipulasi data relasional (seperti aljabar relasional atau aljabar codd; dari sinilah SQL berasal), dan teori tidak mengizinkan hal-hal seperti "cari saja semua bidang". Tentu saja perilaku aktual tergantung pada realisasi nyata vendor. Tetapi dalam kasus umum itu tidak mungkin. Untuk memastikannya, centang SELECT
sintaks operator (WHERE
bagian, tepatnya).