Você está na página 1de 7

Módulo 2 - Lição 13 - Definição de critérios em consultas -

Parte 1
Nesta lição e nas próximas duas lições aprenderemos a definir critérios em consultas. Nesta lição
falaremos sobre os operadores que podemos utilizar em critérios de pesquisa, bem como alguns
exemplos teóricos. A partir da próxima lição, veremos exemplos práticos de aplicação dos
conceitos vistos nesta lição.

Definindo critérios simples:

Para definir critérios simples, basta digitar o valor do critério no respectivo campo, no Microsoft
Query. Por exemplo, se queremos filtrar apenas os pedidos para o Brasil, bastaria digitar Brasil
na coluna correspondente ao campo País, conforme indicado na Figura 2.39:

Figura 2.39 - Critério: País = 'Brasil'

Nota: A partir da próxima lição aprenderemos a utilizar a interface do Microsoft Query, indicada
na Figura 2.39.

É possível definir critérios para dois ou mais campos. Por exemplo, País = 'Brasil' e Cidade='São
Paulo". Com isso serão retornados apenas os registros que atenderem aos dois critérios ao
mesmo tempo. Também podemos definir critérios independentes. Por exemplo, País='Brasil' Ou
Cidade='Paris'. Neste exemplo iremos retornar todos os registros para o Brasil,
independentemente da cidade e todos os registros da Cidade de Paris. Observe que são dois
conjuntos independentes de registros. No texto a seguir coloco mais alguns exemplos que
destacam com clareza a diferença entre critérios ligados pelo operador " E " e critérios ligados
pelo operador " OU ".

Entendendo a diferença entre o operador "OU" e o operador "E":

Agora trataremos de um assunto teórico e que muitas vezes causa confusão: a diferença e como
funciona os operadores lógicos " E " e " OU ".

Veremos que existem diferenças fundamentais entre estes dois operadores e que é muito
importante entendermos estas diferenças para que possamos obter os resultados desejados
quando estamos definindo critérios de pesquisa em uma lista de valores no Excel ou em
consultas do Microsoft Access ou do Microsoft Query . Os conceitos vistos nesta lição também
são válidos para o uso destes operadores em consultas do Access ou em qualquer outro
programa onde possam ser utilizados os operadores "E" e "OU", como por exemplo em
mecanismos de pesquisa na Internet, como o Google ( https://google.com/ ) o Yahoo
( http://www.yahoo.com/ ) e o Alta Vista ( www.altavista.com.br ).

Entendendo o operador E:

Utilizamos o operador E sempre que precisarmos definir dois ou mais critérios de pesquisa.
Quando os critérios são unidos por um operador E, todos os critérios devem ser verdadeiros para
que um registro seja selecionado. Por exemplo, se forem definidos três critérios unidos por
operadores E, os três critérios devem ser atendidos para que um registro seja selecionado. Se,
por exemplo, dois dos critérios forem verdadeiros mas um for falso, o referido registro não será
selecionado.

Vamos entender o operador E através de um exemplo prático.

Ex-01: Suponha que sejam definidos os seguintes critérios:

País='Brasil' E Cidade='São Paulo' E Frete>50

Neste caso, somente serão selecionados os registros que atenderem os três critérios. Na
listagem a seguir, temos exemplos de registros que atendem aos três critérios ao mesmo tempo
e, por isso, seriam selecionado:

*******************************************************************
Brasil São Paulo 10494 COMMI 02/04/1997 30/04/1997 R$ 65,99
Brasil São Paulo 10487 QUEEN 26/03/1997 23/04/1997 R$ 71,07
Brasil São Paulo 10606 TRADH 22/07/1997 19/08/1997 R$ 79,40
Brasil São Paulo 10290 COMMI 27/08/1996 24/09/1996 R$ 79,70
Brasil São Paulo 11068 QUEEN 04/05/1998 01/06/1998 R$ 81,75
Brasil São Paulo 10830 TRADH 13/01/1998 24/02/1998 R$ 81,83
Brasil São Paulo 10961 QUEEN 19/03/1998 16/04/1998 R$ 104,47
Brasil São Paulo 10659 QUEEN 05/09/1997 03/10/1997 R$ 105,81
Brasil São Paulo 10406 QUEEN 07/01/1997 18/02/1997 R$ 108,04
Brasil São Paulo 10786 QUEEN 19/12/1997 16/01/1998 R$ 110,87
Brasil São Paulo 10650 FAMIA 29/08/1997 26/09/1997 R$ 176,81
Brasil São Paulo 10868 QUEEN 04/02/1998 04/03/1998 R$ 191,27
Brasil São Paulo 10637 QUEEN 19/08/1997 16/09/1997 R$ 201,29
******************************************************************

Observe que todos estes registros atendem aos três critérios de pesquisa. Já os registros da
listagem a seguir não seriam selecionados, pois não atendem a um ou mais dos critérios de
pesquisa:

*******************************************************************
Brasil São Paulo 10969 COMMI 23/03/1998 20/04/1998 R$ 0,21
Brasil São Paulo 10292 TRADH 28/08/1996 25/09/1996 R$ 1,35
Brasil São Paulo 10581 FAMIA 26/06/1997 24/07/1997 R$ 3,01
Brasil São Paulo 10347 FAMIA 06/11/1996 04/12/1996 R$ 3,10
Brasil São Paulo 10512 FAMIA 21/04/1997 19/05/1997 R$ 3,53
Brasil São Paulo 10704 QUEEN 14/10/1997 11/11/1997 R$ 4,78
Brasil Rio de Janeiro 10379 QUEDE 11/12/1996 08/01/1997 R$ 45,03
Brasil Rio de Janeiro 10421 QUEDE 21/01/1997 04/03/1997 R$ 99,23
Brasil Rio de Janeiro 10447 RICAR 14/02/1997 14/03/1997 R$ 68,66
Brasil Rio de Janeiro 10481 RICAR 20/03/1997 17/04/1997 R$ 64,33
Brasil Rio de Janeiro 10541 HANAR 19/05/1997 16/06/1997 R$ 68,65
Brasil Rio de Janeiro 10563 RICAR 10/06/1997 22/07/1997 R$ 60,43
Brasil Rio de Janeiro 10720 QUEDE 28/10/1997 11/11/1997 R$ 9,53
Brasil Rio de Janeiro 10770 HANAR 09/12/1997 06/01/1998 R$ 5,32
Áustria Graz 10258 ERNSH 17/07/1996 14/08/1996 R$ 140,51
Áustria Graz 10263 ERNSH 23/07/1996 20/08/1996 R$ 146,06
Áustria Graz 10351 ERNSH 11/11/1996 09/12/1996 R$ 162,33
*******************************************************************

Observe que alguns dos registros não atendem a um dos critérios, outros não atendem a dois
dos critérios e outros não atendem a nenhum dos critérios. O importante, novamente, é salientar
que, com o operador E, somente serão selecionados os registros que atenderem a todos os
critérios.

Entendendo o operador OU:

Utilizamos o operador OU sempre que precisarmos definir dois ou mais critérios de pesquisa.
Quando os critérios são unidos por um operador OU, basta que um dos critérios seja
verdadeiro para que um registro seja selecionado .

Por exemplo, se forem definidos três critérios unidos por operadores OU e um dos critérios fosse
verdadeiro, ou dois dos critérios fossem verdadeiros, ou até mesmo se os três critérios fossem
verdadeiros, o registro seria selecionado. Um registro somente não será selecionado se
todos os critérios unidos pelo operador OU forem falsos para o referido registro.

Vamos entender o operador OU através de um exemplo prático.

Ex-02: Suponha que sejam definidos os seguintes critérios:

Ano do Pedido=1997 OU Cidade=São Paulo OU Frete>50

Neste caso será selecionado qualquer registro que atender, pelo menos, um dos critérios unidos
pelo operador OU. Somente deixarão de ser selecionados os registros que não atenderem a
nenhum dos critérios especificados.

Na prática serão selecionados os seguintes registros:

Todos os pedidos para o ano de 1997, independentemente da Cidade e do valor do frete.

Todos os pedidos para a cidade de São Paulo, independentemente do ano e do valor do frete.

Todos os pedidos com valores de frete maiores do que 50, independentemente do ano e da
cidade.

Na Listagem a seguir temos exemplos de alguns registros que seriam selecionados:

*******************************************************************
Brasil São Paulo 10581 FAMIA 26/06/1997 24/07/1997 R$ 3,01
Brasil São Paulo 10512 FAMIA 21/04/1997 19/05/1997 R$ 3,53
Áustria Graz 10402 ERNSH 0 2/01/1997 13/02/1997 R$ 67,88
Áustria Graz 10403 ERNSH 0 3/01/1997 31/01/1997 R$ 73,79
Itália Bergamo 10404 MAGAA 03/01/1997 31/01/1997 R$ 155,97
Brasil São Paulo 10704 QUEEN 14/10/1997 11/11/1997 R$ 4,78
França Lille 10408 FOLIG 08/01/1997 05/02/1997 R$ 11,26
Canadá Tsawassen 10410 BOTTM 10/01/1997 07/02/1997 R$ 2,40
Canadá Tsawassen 10411 BOTTM 10/01/1997 07/02/1997 R$ 23,65
França Toulouse 10413 LAMAI 14/01/1997 11/02/1997 R$ 95,66
Brasil São Paulo 10725 FAMIA 31/10/1997 28/11/1997 R$ 10,83
EUA Elgin 10415 HUNGC 15/01/1997 12/02/1997 R$ 0,20
*******************************************************************
Na Listagem a seguir temos exemplos de alguns registros que não seriam selecionados. Observe
que estes registros não atendem a nenhum dos três critérios ligados pelo operador OU, ou seja,
somente quando os três critérios forem falsos é que o registro deixará de ser selecionado.

*******************************************************************
Venezuela I. de Margarita 10811 LINOD 02/01/1998 30/01/1998 R$ 31,22
Brasil Rio de Janeiro 10813 RICAR 05/01/1998 02/02/1998 R$ 47,38
EUA Boise 10815 SAVEA 05/01/1998 02/02/1998 R$ 14,62
Argentina Buenos Aires 10819 CACTU 07/01/1998 04/02/1998 R$ 19,76
EUA Albuquerque 10820 RATTC 07/01/1998 04/02/1998 R$ 37,52
EUA Lander 10821 SPLIR 08/01/1998 05/02/1998 R$ 36,68
EUA Kirkland 10822 TRAIH 08/01/1998 05/02/1998 R$ 7,00
Suécia Bräcke 10824 FOLKO 09/01/1998 06/02/1998 R$ 1,23
França Strasbourg 10826 BLONP 12/01/1998 09/02/1998 R$ 7,09
*******************************************************************

Resumindo:

Critérios unidos por um operador E -> Todos tem que ser verdadeiros para que o registro seja
selecionado. Basta que um seja falso para que o registro não seja selecionado.

Critérios unidos por um operador OU -> Basta que um seja verdadeiro para que o registro seja
selecionado. Somente quando todos forem falsos é que o registro não será selecionado.

Utilizando operadores para definir critérios de pesquisa:

O Microsoft Query (a exemplo do Microsoft Access), disponibiliza uma série de operadores que
facilitam a definição de critérios de pesquisa. Além de facilitar a definição, os operadores do
Microsoft Access nos oferecem uma série de possibilidades para a definição de critérios mais
sofisticados. Aprenderemos a utilizar os seguintes operadores:

 In

 Between

 Not

 Like

Ao utilizarmos estes operadores o Query, automaticamente, traduz o nome dos operadores para
Português, conforme indicado na tabela a seguir:

O operador É traduzido para

In Em

Between Entre

Not É Negado

Like Como

O operador In

O operador In é utilizado para definir critérios de filtragem em campos do tipo texto. Quando
temos vários critérios para serem especificados em um mesmo campo, é mais vantagem utilizar
o operador In do que utilizar os vários critérios unidos pelo operador Ou. Considere o exemplo a
seguir, onde temos um critério definido para o campo PaísDeDestino, de duas maneiras
diferentes: uma utilizando " um monte " de operadores Ou e outra utilizando um único operador
In.

"Brasil" Ou "Argentina" Ou "Alemanha" Ou "França" Ou "Áustria"

In ("Brasil";"Argentina";"Alemanha";"França";"Áustria")

Observe que com a utilização do operador In o critério fica " mais enxuto ", de mais fácil leitura e
interpretação. Neste exemplo serão selecionados apenas os pedidos para os países especificados.
Observe que os diferentes elementos são separados por ; e cada elemento está entre aspas.
Entre o operador In e a abertura do parênteses existe um espaço em branco. Na tabela a seguir
temos mais alguns exemplos de utilização do operador In.

O operador Between:

O operador Between é utilizado em campos numéricos ou do tipo Data/Hora, para testar se o


campo está dentro de uma determinada faixa de valores. Por exemplo, para testar se o valor do
frete é maior ou igual a 10 ou menor ou igual a 20, podemos utilizar um dos seguintes critérios:

>=10 E <=20

Between 10 E 20

Para testar se uma data está dentro do ano de 1997 podemos utilizar um dos seguintes
critérios:

>=#01/01/1997# E <=#31/12/1997#

Between #01/01/1997# E #31/12/1997#

Na tabela a seguir temos mais alguns exemplos de utilização do operador Between.

Nota: É importante observar que o operador Between representa um intervalo fechado, ou seja,
maior ou igual e menor ou igual.

O operador Like:

Este operador é utilizado para pesquisas em campos do tipo texto. A diferencial do operador Like
é que ele permite a pesquisa de padrões de texto, ou seja, permite que seja pesquisado um
campo do tipo texto, especificando apenas parte do campo e não o seu conteúdo exato. Por
exemplo, podemos pesquisar todos os clientes que tem em alguma parte do nome a palavra
Silva. Desta maneira seriam retornados, por exemplo, os seguintes nomes:

· José da Silva

· Silva Antônio da Costa

· João Pereira da Silva

· Maria José da Silva

· Silva Fontoura dos Santos

Com o operador Like podemos utilizar alguns caracteres conhecidos como caracteres " coringa ".
Na tabela a seguir temos a lista dos caracteres coringa que podem ser utilizados com o operador
Like:

Observações:

Os caracteres curinga devem ser utilizados com tipos de dados de texto, embora você possa, às
vezes, utilizá-los com sucesso com outros tipos de dados, tais como datas, se você não alterar as
propriedades das Configurações Regionais destes tipos de dados.

Ao utilizar caracteres curinga para procurar um asterisco (*), um ponto de interrogação (?), um
sinal numérico (#), um colchete de abertura ([) ou um hífen (-), você deve colocar o item que
você está procurando entre colchetes.

Por exemplo, para procurar um ponto de interrogação, digite [?]. Quando você estiver
procurando um hífen e outros caracteres simultaneamente, coloque o hífen antes ou depois de
todos os outros caracteres dentro dos colchetes. (Entretanto, se houver um ponto de exclamação
(!) depois do colchete de abertura, coloque o hífen depois do ponto de exclamação). Quando
você estiver procurando um ponto de exclamação ou um colchete de fechamento, não é
necessário colocá-los entre colchetes.

Você não pode procurar os colchetes de abertura e fechamento ([ ]) juntos porque o Microsoft
Query interpreta esta combinação como uma seqüência de comprimento zero.

Se você estiver procurando valores em uma tabela que não seja do Microsoft Access, como, por
exemplo, uma tabela do Microsoft SQL Server, pode ser necessário utilizar caracteres curinga
diferentes. Verifique a documentação da fonte de dados para obter maiores informações.

Para entendermos a utilização do operador Like e dos caracteres coringa, vamos considerar os
exemplos da tabela a seguir:

O operador Not:

O operador Not é utilizado para negar, para inverter um determinado critério.

Considere os exemplos:

País='Brasil" -> Retorna todos os registros onde o campo País é igual a Brasil.

Not País='Brasil' -> Retorna todos os pedidos onde o campo País é diferente de Brasil, ou seja:
Não Brasil

Também podemos utilizar o operador Not em conjunto com os operadores Like, Between e In.