Bagikan melalui


Klausa WHERE (Windows Search)

Kondisi yang menentukan apakah dokumen disertakan dalam hasil yang dikembalikan oleh kueri ditentukan oleh klausa WHERE. Pada tingkat tertinggi, ada dua bagian untuk sintaks klausa WHERE:

...WHERE [<group_aliases>] <search_condition>
...WHERE ReuseWhere(<WHEREID>)

Bagian group_alias> opsional <dari klausul menyederhanakan kueri kompleks dengan menetapkan alias ke grup satu atau beberapa kolom. Ini dapat meningkatkan keterbacaan kueri kompleks yang mencari informasi yang sama di beberapa kolom yang ditentukan oleh URL. Untuk informasi selengkapnya tentang alias grup, lihat DENGAN -- Predikat Alias Grup AS.

Bagian <kondisi> pencarian dari klausa WHERE adalah satu atau beberapa predikat pencarian yang menentukan kriteria yang cocok untuk pencarian. Predikat pencarian adalah ekspresi yang menegaskan beberapa fakta tentang beberapa nilai.

Hasil dari kondisi pencarian adalah nilai Boolean, baik TRUE jika dokumen memenuhi kondisi pencarian yang ditentukan, atau FALSE jika tidak. Jika hasilnya TRUE, dokumen dikembalikan. Jika hasilnya FALSE, dokumen tidak dikembalikan. Dokumen yang dikembalikan dalam kueri Microsoft Windows Search diberi nilai peringkat sesuai dengan seberapa cocok dengan kondisi pencarian. Setiap kondisi pencarian kueri dapat menyertakan klausa RANKBY yang mendukung modifikasi nilai peringkat yang dikembalikan.

Fungsi ReuseWhere membuat beberapa kueri yang menggunakan beberapa kondisi pencarian yang sama lebih efisien. Klausa WHERE dalam kueri menentukan kumpulan item yang cocok dalam kueri. Kueri berikutnya dapat berbagi pekerjaan yang dilakukan untuk evaluasi sebelumnya dengan menggunakan fungsi ReuseWhere dalam klausa WHERE kueri baru.

Predikat Pencarian

Kondisi pencarian terdiri dari satu atau beberapa predikat atau kondisi pencarian yang menjelaskan apa yang dicari pengguna (misalnya, WHERE System.DateCreated >'2006-04-19'). Predikat pencarian dapat digabungkan menggunakan operator logis AND, OR, atau NOT. Operator unary opsional TIDAK hanya dapat digunakan dengan AND dan hanya untuk meniadakan nilai logis dari predikat atau kondisi pencarian. Anda dapat menggunakan tanda kurung untuk mengelompokkan dan menyarangkan istilah logis.

Tabel berikut menunjukkan urutan prioritas untuk operator logis.

Urutan (prioritas) Operator logis
Pertama (tertinggi) NOT
Detik AND
Ketiga (terendah) ATAU

 

Operator logis dengan jenis yang sama bersifat asosiatif, dan tidak ada urutan perhitungan yang ditentukan. Misalnya, (A AND B) AND (C AND D) dapat dihitung (A AND D) AND (B AND C) tanpa perubahan dalam hasil logis.

Penting

Salah: WHERE NOT CONTAINS ('computer')

Benar: WHERE CONTAINS ('software') AND NOT CONTAINS ('computer')

 

Dalam kueri yang kompleks, Anda mungkin ingin menempatkan lebih banyak penekanan pada kecocokan di beberapa kolom daripada yang lain. Misalnya, saat mencari dokumen yang membahas "desain perangkat lunak", menemukan istilah pencarian dalam judul dokumen lebih mungkin cocok daripada menemukan kata-kata individual dalam teks dokumen. Untuk memengaruhi peringkat dokumen dengan cara ini, bahasa kueri Microsoft Windows Search mendukung pembobotan kondisi pencarian. Untuk informasi selengkapnya tentang pembobotan kolom, lihat Predikat CONTAINS dan Predikat FREETEXT.

Ada tiga grup predikat pencarian di Pencarian Windows: pencarian teks lengkap, non-teks lengkap, dan kedalaman folder. Predikat pencarian teks lengkap biasanya cocok dengan arti konten, judul, dan kolom lainnya, dan mendukung pencocokan linguistik (misalnya, bentuk kata alternatif, frasa, dan pencarian kedekatan). Sebaliknya, predikat pencarian non-teks lengkap cocok dengan nilai kolom yang ditentukan dan tidak menyertakan pemrosesan linguistik khusus, tetapi dalam beberapa kasus menawarkan pencocokan pola berbasis karakter. Predikat kedalaman folder membatasi cakupan pencarian ke jalur tertentu.

Catatan

Jika kueri mengembalikan dokumen karena predikat non-teks lengkap dievaluasi ke TRUE untuk dokumen tersebut, nilai peringkat dihitung sebagai 1000. Menggunakan fungsi koersi peringkat dapat memodifikasi nilai peringkat.

 

Tabel berikut ini menjelaskan predikat pencarian teks lengkap, non-teks lengkap, dan kedalaman folder.

Predikat teks lengkap Deskripsi
CONTAINS Mendukung pencarian kompleks untuk istilah dalam kolom teks dokumen (misalnya, judul, konten). Dapat mencari bentuk istilah pencarian yang tidak fleksibel, menguji kedekatan istilah, dan melakukan perbandingan logis. Istilah pencarian dapat menyertakan karakter kartubebas.
TEKS BEBAS Mencari dokumen yang cocok dengan arti frasa pencarian. Kata terkait dan frasa serupa akan cocok, dengan kolom peringkat dihitung berdasarkan seberapa dekat dokumen cocok dengan frasa pencarian. Istilah pencarian tidak dapat menyertakan karakter kartubebas.

 

Predikat non-teks lengkap Deskripsi
LIKE Nilai kolom dibandingkan menggunakan pencocokan pola sederhana dengan karakter kartubebas.
Perbandingan Nilai Harfiah Nilai kolom dibandingkan dengan string, tanggal, stempel waktu, numerik, dan nilai harfiah lainnya. Predikat ini mendukung kesetaraan dan ketidaksetaraan seperti lebih besar dari dan kurang dari.
Perbandingan Multinilai (ARRAY) Kolom multinila dibandingkan dengan array harfiah multinila.
NULL Nilai kolom yang tidak terdefinisi untuk dokumen dapat dideteksi dengan menggunakan predikat NULL .

 

Kedalaman Folder Deskripsi
CAKUPAN Melakukan traversal mendalam dari jalur yang ditentukan, termasuk folder tertentu dan semua subfolder.
DIREKTORI Melakukan traversal dangkal dari jalur yang ditentukan, hanya mencari folder tertentu.

 

Contoh

Untuk contoh klausa WHERE, lihat topik predikat individual yang ditautkan dalam tabel sebelumnya.

Referensi

Fungsi ReuseWhere

Properti Himpunan Baris

Klausa FROM

Gambaran Umum Sintaks Pencarian SQL

DENGAN -- Predikat Alias Grup AS

LINGKUP dan Predikat DIREKTORI

Klausa RANK BY

Konseptual

Predikat Teks Lengkap

Predikat Non-Teks Lengkap