WHERE 子句 (Windows 搜尋)
判斷查詢所傳回結果中是否包含檔的條件,是由 WHERE 子句所指定。 在最高層級,WHERE 子句語法有兩個部分:
...WHERE [<group_aliases>] <search_condition>
...WHERE ReuseWhere(<WHEREID>)
子句的選擇性 < group_alias > 部分可藉由將別名指派給一或多個資料行的群組,來簡化複雜的查詢。 這可以改善複雜查詢的可讀性,這些查詢會跨 URL 所指定的多個資料行搜尋相同的資訊。 如需群組別名的詳細資訊,請參閱 WITH -- AS 群組別名述詞。
<WHERE 子句的搜尋條件 > 部分是一或多個搜尋述詞,可指定搜尋的相符準則。 搜尋述詞是判斷某些值相關事實的運算式。
搜尋條件的結果是布林值,如果檔符合指定的搜尋條件,則為 TRUE ,否則為 FALSE 。 如果結果為 TRUE,則會傳回檔。 如果結果為 FALSE,則不會傳回檔。 Microsoft Windows 搜尋查詢中傳回的檔會根據符合搜尋條件的方式指派排名值。 每個查詢搜尋條件都可以包含支援修改傳回排名值的 RANKBY 子句。
ReuseWhere 函式會讓多個查詢更有效率地使用一些相同的搜尋條件。 查詢中的 WHERE 子句會指定查詢中相符的專案集。 後續查詢可以使用新查詢 WHERE 子句中的 ReuseWhere 函式,來共用針對先前的評估所執行的工作。
搜尋述詞
搜尋條件包含一或多個述詞或搜尋條件,描述使用者正在搜尋 (的內容,例如 WHERE System.DateCreated > '2006-04-19') 。 您可以使用邏輯運算子 AND、 OR或 NOT來結合搜尋述詞。 選擇性的一元運算子 NOT 只能與 AND 搭配使用,而且只能否定述詞或搜尋條件的邏輯值。 您可以使用括弧來分組和巢狀邏輯詞彙。
下表顯示邏輯運算子的優先順序。
順序 (優先順序) | 邏輯運算子 |
---|---|
第一個 (最高) | NOT |
Second | AND |
第三 (最低) | OR |
相同類型的邏輯運算子是關聯的,而且沒有指定的計算順序。 例如, (A AND B) AND (C AND D) 可以計算 (A AND D ) AND (B AND C) ,而邏輯結果不會有任何變更。
重要
不正確:WHERE NOT CONTAINS ('computer')
正確:WHERE 包含 ('software') ,且不包含 ('computer')
在複雜的查詢中,您可能想要更強調某些資料行中的相符專案,而不是其他資料行中的相符專案。 例如,在搜尋討論「軟體設計」的檔時,在檔標題中尋找搜尋字詞比在檔中的文字中尋找個別單字更可能相符。 為了以這種方式影響檔的排名,Microsoft Windows 搜尋查詢語言支援加權搜尋條件。 如需資料行加權的詳細資訊,請參閱 CONTAINS 述 詞和 FREETEXT 述詞。
Windows 搜尋中有三組搜尋述詞:全文檢索、非全文檢索和資料夾深度搜尋。 全文檢索搜尋述詞通常符合內容、標題和其他資料行的意義,並支援語言比對 (例如替代文字表單、片語和鄰近搜尋) 。 相反地,非全文檢索搜尋述詞符合指定資料行的值,而且不包含任何特殊語言處理,但在某些情況下提供字元型模式比對。 資料夾深度述詞會將搜尋範圍限制為指定的路徑。
注意
如果查詢因為非全文檢索述詞評估為 TRUE 而傳回檔,則排名值會計算為 1000。 使用 順位強制函數 可以修改排名值。
下表描述全文檢索、非全文檢索和資料夾深度搜尋述詞。
全文檢索述詞 | 描述 |
---|---|
CONTAINS | 支援檔文字資料行中字詞的複雜搜尋 (,例如標題、內容) 。 可以搜尋搜尋字詞的交錯形式、測試字詞的鄰近性,以及執行邏輯比較。 搜尋字詞可以包含萬用字元。 |
FREETEXT | 搜尋符合搜尋片語意義的檔。 相關字組和類似的片語會比對,且排名資料行會根據檔與搜尋片語的相符程度來計算。 搜尋字詞不能包含萬用字元。 |
非全文檢索述詞 | Description |
---|---|
LIKE | 資料行值會使用與萬用字元的簡單模式比對進行比較。 |
常值比較 | 資料行值會與字串、日期、時間戳記、數值和其他常值進行比較。 這個述詞支援相等和不相等,例如大於和小於。 |
多重值 (ARRAY) 比較 | 多重值資料行會與常值多重值陣列進行比較。 |
NULL | 您可以使用 Null 述詞來偵測未定義檔的資料行值。 |
資料夾深度 | Description |
---|---|
SCOPE | 執行指定路徑的深層周遊,包括特定資料夾和所有子資料夾。 |
目錄 | 執行指定路徑的淺層周遊,只搜尋特定資料夾。 |
範例
如需 WHERE 子句的範例,請參閱上表中連結的個別述詞主題。
相關主題
-
參考
-
概念