WHERE yan tümcesi (Windows Search)

Bir belgenin sorgu tarafından döndürülen sonuçlara eklenip eklenmediğini belirleyen koşullar WHERE yan tümcesi tarafından belirtilir. En yüksek düzeyde, WHERE yan tümcesi söz diziminin iki bölümü vardır:

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

Yan tümcesinin isteğe bağlı <group_alias> bölümü, bir veya daha fazla sütundan oluşan bir gruba diğer ad atayarak karmaşık sorguları basitleştirir. Bu, URL'ler tarafından belirtilen birden çok sütunda aynı bilgileri arayan karmaşık sorguların okunabilirliğini artırabilir. Grup diğer adları hakkında daha fazla bilgi için bkz. WITH -- AS Grup Diğer Adı Koşulu.

WHERE yan tümcesinin<>arama koşulu, arama için eşleşen ölçütleri belirten bir veya daha fazla arama koşuludur. Arama koşulu, bazı değerlerle ilgili bazı olguları onaylayan ifadelerdir.

Bir arama koşulunun sonucu, belge belirtilen arama koşullarını karşılıyorsa TRUE Boole değeri veya uygun değilse FALSE . Sonuç TRUE ise, belge döndürülür. Sonuç FALSE ise, belge döndürülmedi. Microsoft Windows Search sorgusunda döndürülen belgelere, arama koşullarına ne kadar uygun olduklarına göre derece değerleri atanır. Sorgu arama koşullarının her biri, döndürülen derece değerlerini değiştirmeyi destekleyen bir RANKBY yan tümcesi içerebilir.

ReuseWhere işlevi aynı arama koşullarından bazılarını kullanan birden çok sorguyu daha verimli hale getirir. Sorgudaki WHERE yan tümcesi, sorguda eşleşen öğe kümesini belirtir. Sonraki sorgular, yeni sorgu WHERE yan tümcesindeki ReuseWhere işlevini kullanarak önceki değerlendirme için gerçekleştirilen çalışmayı paylaşabilir.

Arama koşulu

Arama koşulu, kullanıcının ne aradığınızı açıklayan bir veya daha fazla koşuldan veya arama koşulundan oluşur (örneğin, WHERE System.DateCreated >'2006-04-19'). Arama önkoşulları VE , VEYAmantıksal işleçler kullanılarak veya DEĞİlkullanılarak birleştirilebilir. İsteğe bağlı birli işleç DEĞİl yalnızca VE ile kullanılabilir ve yalnızca bir koşulun veya arama koşulunun mantıksal değerini olumsuzlaştırmak için kullanılabilir. Mantıksal terimleri gruplandırmak ve iç içe kullanmak için parantez kullanabilirsiniz.

Aşağıdaki tabloda mantıksal işleçler için öncelik sırası gösterilmektedir.

Sipariş (öncelik) Mantıksal işleç
İlk (en yüksek) DEĞİl
Saniye VE
Üçüncü (en düşük) VEYA

 

Aynı türdeki mantıksal işleçler ilişkilendirilebilirdir ve belirtilen hesaplama sırası yoktur. Örneğin, (A AND B) AND (C VE D) AND (B AND C) mantıksal sonuçta değişiklik olmadan hesaplanabilir (A AND D).

Önemli

Yanlış: WHERE NOT CONTAINS ('computer')

Doğru: WHERE CONTAINS ('software') VE CONTAINS DEĞİl ('computer')

 

Karmaşık sorgularda, bazı sütunlardaki eşleşmelere diğerlerinden daha fazla vurgu eklemek isteyebilirsiniz. Örneğin, "yazılım tasarımını" tartışan belgeleri ararken, belge başlığında arama terimini bulmak, belge metnindeki sözcükleri tek tek bulmaktan daha iyi bir eşleşme olabilir. Belgelerin bu şekilde derecesini etkilemek için, Microsoft Windows Search sorgu dili arama koşullarının ağırlıklarını belirlemeyi destekler. Sütun ağırlığı hakkında daha fazla bilgi için bkz. CONTAINS Koşul ve FREETEXT Koşulu.

Windows Search'te üç arama koşulu grubu vardır: tam metin, tam metin olmayan ve klasör derinliği aramaları. Tam metin arama önkoşulları genellikle içeriğin, başlığın ve diğer sütunların anlamıyla eşleşip dil eşleştirmeyi destekler (örneğin, alternatif sözcük formları, tümcecikler ve yakınlık araması). Buna karşılık, tam metin olmayan arama önkoşulları belirtilen sütunların değeriyle eşleşir ve özel dil işleme içermez, ancak bazı durumlarda karakter tabanlı desen eşleştirmesi sunar. Klasör derinliği önkoşulları, arama kapsamını belirtilen bir yolla kısıtlar.

Not

Tam metin olmayan bir koşul söz konusu belge için DOĞRU değerlendirildiğinden sorgu bir belge döndürürse, derece değeri 1000 olarak hesaplanır. rank zorlama işlevini kullanarak derece değerini değiştirebilirsiniz.

 

Aşağıdaki tablolarda tam metin, tam metin olmayan ve klasör derinliği arama önkoşulları açıklanmaktadır.

Tam metin koşulu Açıklama
IÇERİR Belge metni sütunlarında (başlık, içerik gibi) terimler için karmaşık aramaları destekler. Arama terimlerinin ekli formlarını arayabilir, terimlerin yakınlıklarını test edebilir ve mantıksal karşılaştırmalar yapabilir. Arama terimleri joker karakter içerebilir.
FREETEXT Arama tümceciğinin anlamıyla eşleşen belgeleri arar. İlgili sözcükler ve benzer tümcecikler eşleşir ve sıralama sütunu, belgenin arama tümceciğiyle ne kadar yakın eşleşeceğini temel alarak hesaplanır. Arama terimleri joker karakter içeremez.

 

Tam metin olmayan koşul Açıklama
GİBİ Sütun değerleri, joker karakterlerle basit desen eşleştirme kullanılarak karşılaştırılır.
Değişmez Değer Karşılaştırması Sütun değerleri dize, tarih, zaman damgası, sayısal ve diğer değişmez değerlerle karşılaştırılır. Bu koşul eşitliği ve büyüktür ve küçüktür gibi eşitsizlikleri destekler.
Çok Değerli (DIZI) Karşılaştırmaları Birden çok değerli sütunlar, birden çok değerli değişmez değer dizisiyle karşılaştırılır.
NULL Belge için tanımlanmamış sütun değerleri, NULL koşulu kullanılarak algılanabilir.

 

Klasör Derinliği Açıklama
KAPSAM Belirli bir klasör ve tüm alt klasörler dahil olmak üzere belirtilen yolun derin bir geçişini gerçekleştirir.
DİZİN Yalnızca belirli bir klasörde arama yaparak belirtilen yolun sığ bir geçişini gerçekleştirir.

 

Örnekler

WHERE yan tümcesinin örnekleri için, önceki tabloda bağlantılı tek tek koşul konularına bakın.

Başvuru

ReuseWhere işlevi

Satır Kümesi Özelliklerini

FROM Yan Tümcesi

SQL Söz Dizimini Ara Genel Bakış

WITH -- AS Grup Diğer Adı Koşulu

KAPSAM ve DIZIN Koşullarını

RANK BY Yan Tümcesi

kavramsal

Full-Text Koşul

Full-Text Olmayan Koşul