Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
As condições que determinam se um documento está incluído nos resultados retornados pela consulta são especificadas pela cláusula WHERE. No nível mais alto, há duas partes na sintaxe da cláusula WHERE:
...WHERE [<group_aliases>] <search_condition>
...WHERE ReuseWhere(<WHEREID>)
A parte <group_alias> opcional da cláusula simplifica consultas complexas atribuindo um alias a um grupo de uma ou mais colunas. Isso pode melhorar a legibilidade de consultas complexas que pesquisam as mesmas informações em várias colunas especificadas por URLs. Para obter mais informações sobre aliases de grupo, consulte WITH -- AS Group Alias Predicate.
A condição de pesquisa <> parte da cláusula WHERE é um ou mais predicados de pesquisa que especificam critérios de correspondência para a pesquisa. Predicados de pesquisa são expressões que declaram algum fato sobre algum valor.
O resultado de uma condição de pesquisa é um valor booliano, VERDADEIRO se o documento atender às condições de pesquisa especificadas ou false se não atender. Se o resultado for VERDADEIRO, o documento será retornado. Se o resultado for FALSE, o documento não será retornado. Os documentos retornados em uma consulta da Pesquisa do Microsoft Windows recebem valores de classificação de acordo com o quão bem eles correspondem às condições de pesquisa. Cada uma das condições de pesquisa de consulta pode incluir uma cláusula RANKBY que dá suporte à modificação dos valores de classificação retornados.
A função ReuseWhere torna várias consultas que usam algumas das mesmas condições de pesquisa mais eficientes. A cláusula WHERE em uma consulta especifica o conjunto de itens que correspondem a uma consulta. As consultas subsequentes podem compartilhar o trabalho executado para a avaliação anterior usando a função ReuseWhere na nova cláusula WHERE de consulta.
Predicados de pesquisa
Uma condição de pesquisa consiste em um ou mais predicados ou condições de pesquisa que descrevem o que o usuário está procurando (por exemplo, WHERE System.DateCreated >'2006-04-19'). Predicados de pesquisa podem ser combinados usando os operadores lógicos AND, ORou NOT. O operador unário opcional NOT pode ser usado apenas com AND e apenas para negar o valor lógico de um predicado ou condição de pesquisa. Você pode usar parênteses para agrupar e aninhar termos lógicos.
A tabela a seguir mostra a ordem de precedência para os operadores lógicos.
| Ordem (precedência) | Operador lógico |
|---|---|
| Primeiro (mais alto) | NÃO |
| Segundo | E |
| Terceiro (mais baixo) | OU |
Operadores lógicos do mesmo tipo são associativos e não há nenhuma ordem de cálculo especificada. Por exemplo, (A AND B) E (C AND D) podem ser calculados (A AND D) AND (B AND C) sem nenhuma alteração no resultado lógico.
Importante
Incorreto: WHERE NOT CONTAINS ('computer')
Correto: WHERE CONTAINS ('software') AND NOT CONTAINS ('computer')
Em consultas complexas, talvez você queira dar mais ênfase às correspondências em algumas colunas do que em outras. Por exemplo, ao pesquisar documentos que discutem "design de software", encontrar o termo de pesquisa no título do documento é mais provável que seja uma boa correspondência do que encontrar as palavras individuais no texto do documento. Para influenciar a classificação de documentos dessa maneira, a linguagem de consulta pesquisa do Microsoft Windows dá suporte à ponderação das condições de pesquisa. Para obter mais informações sobre ponderação de coluna, consulte CONTAINS Predicate and FREETEXT Predicate.
Há três grupos de predicados de pesquisa na Pesquisa do Windows: texto completo, texto não completo e pesquisas de profundidade de pasta. Predicados de pesquisa de texto completo normalmente correspondem ao significado do conteúdo, título e outras colunas e dão suporte à correspondência linguística (por exemplo, formulários alternativos de palavras, frases e pesquisa por proximidade). Por outro lado, predicados de pesquisa de texto não completo correspondem ao valor das colunas especificadas e não incluem nenhum processamento linguístico especial, mas em vários casos oferecem correspondência de padrões baseadas em caracteres. Predicados de profundidade da pasta restringem o escopo da pesquisa a um caminho especificado.
Nota
Se a consulta retornar um documento porque um predicado de texto não completo é avaliado como VERDADEIRO para esse documento, o valor da classificação será calculado como 1000. Usar a função de coerção de classificação pode modificar o valor da classificação.
As tabelas a seguir descrevem os predicados de pesquisa de texto completo, não de texto completo e de profundidade de pasta.
| Predicado de texto completo | Descrição |
|---|---|
| CONTÉM | Dá suporte a pesquisas complexas por termos em colunas de texto do documento (por exemplo, título, conteúdo). Pode pesquisar formas inflexionadas dos termos de pesquisa, testar a proximidade dos termos e executar comparações lógicas. Os termos de pesquisa podem incluir caracteres curinga. |
| FREETEXT | Pesquisa documentos que correspondam ao significado da frase de pesquisa. Palavras relacionadas e frases semelhantes corresponderão, com a coluna de classificação calculada com base na proximidade com que o documento corresponde à frase de pesquisa. Os termos de pesquisa não podem incluir caracteres curinga. |
| Predicado de texto não completo | Descrição |
|---|---|
| GOSTAR | Os valores de coluna são comparados usando a correspondência de padrões simples com caracteres curinga. |
| de comparação de valor literal | Os valores de coluna são comparados com cadeia de caracteres, data, carimbo de data/hora, numérico e outros valores literais. Esse predicado dá suporte à igualdade e às desigualdades, como maior e menor que. |
| comparações de matriz (multivalidade) | Colunas multivaloradas são comparadas com uma matriz multivalor de literais. |
| NULL | Os valores de coluna que são indefinidos para o documento podem ser detectados usando o predicado NULL. |
| Profundidade da pasta | Descrição |
|---|---|
| de ESCOPO do | Executa uma passagem profunda do caminho especificado, incluindo a pasta específica e todas as subpastas. |
| do DIRETÓRIO | Executa uma passagem superficial do caminho especificado, pesquisando apenas a pasta específica. |
Exemplos
Para obter exemplos da cláusula WHERE, consulte os tópicos de predicado individuais vinculados na tabela anterior.
Tópicos relacionados
-
de referência de
-
da cláusula FROM
-
visão geral da sintaxe do SQL de pesquisa
-
Conceitual
-
predicados Full-Text