Pemadanan Corak dalam Pertanyaan SQL

Menggunakan Wildcards untuk Matching Inexact

Padanan corak SQL membolehkan anda mencari pola dalam data, jika anda tidak tahu perkataan atau frasa yang tepat yang anda cari. Permintaan SQL jenis ini menggunakan aksara kad liar untuk sepadan dengan corak, dan bukannya menentukan tepat. Sebagai contoh, anda boleh menggunakan wildcard "C%" untuk memadankan sebarang rentetan yang bermula dengan modal C.

Menggunakan Operator LIKE

Untuk menggunakan ekspresi wildcard dalam query SQL, gunakan pengendali LIKE dalam klausa WHERE, dan sertakan corak dalam tanda petikan tunggal.

Menggunakan Wildcard% untuk Melakukan Carian Mudah

Untuk mencari pekerja dalam pangkalan data anda dengan nama terakhir yang bermula dengan huruf C, gunakan pernyataan Transact-SQL berikut:

SELECT * FROM employees WHERE last_name LIKE 'C%'

Menolak Corak Menggunakan Kata Kunci TIDAK

Gunakan kata kunci TIDAK untuk memilih rekod yang tidak sepadan dengan corak. Sebagai contoh, pertanyaan ini mengembalikan semua rekod yang nama terakhirnya tidak bermula dengan C:

SELECT * FROM employees WHERE last_name TIDAK SEPERTI 'C%'

Mencocokkan Corak Mana-mana Menggunakan Kad Wildcard Dua Kali

Gunakan dua contoh kad liar % untuk sepadan dengan corak tertentu di mana-mana sahaja. Contoh ini mengembalikan semua rekod yang mengandungi C di mana saja di nama akhir:

SELECT * FROM employees WHERE last_name LIKE '% C%'

Mencari Perlawanan Corak pada Kedudukan Khusus

Gunakan _ wildcard untuk mengembalikan data di lokasi tertentu. Contoh ini hanya sepadan jika C berlaku pada kedudukan ketiga lajur nama terakhir:

SELECT * FROM employees WHERE last_name LIKE '_ _C%'

Ekspresi Wildcard yang disokong dalam Transact SQL

Terdapat beberapa ungkapan wildcard yang disokong oleh Transact SQL:

Menggabungkan Wildcard untuk Corak Kompleks

Campurkan kad liar ini dalam corak kompleks untuk melakukan pertanyaan lebih lanjut. Misalnya, anda perlu membuat senarai semua pekerja anda yang mempunyai nama yang bermula dengan huruf dari separuh pertama abjad tetapi tidak berakhir dengan vokal. Anda boleh menggunakan pertanyaan berikut:

SELECT * FROM employees WHERE last_name LIKE '[am]% [^ aeiou]'

Begitu juga, anda boleh membina senarai semua pekerja dengan nama terakhir yang terdiri daripada empat huruf dengan menggunakan empat contoh corak:

SELECT * FROM employees WHERE last_name LIKE '____'

Seperti yang anda boleh katakan, penggunaan kemampuan mencocokkan corak SQL menawarkan pengguna pangkalan data keupayaan untuk melampaui pertanyaan teks mudah dan melakukan operasi pencarian lanjutan.