SQL do Access: Cláusula WHERE

SQL do Access: Cláusula WHERE

Este artigo faz parte de um conjunto sobre o SQL do Access. Este artigo descreve como escrever uma cláusula WHERE e utiliza exemplos para ilustrar as várias técnicas que pode utilizar numa cláusula WHERE.

Numa instrução SQL, a cláusula WHERE especifica os critérios que os valores de campos têm de cumprir para os registos que contêm os valores a incluir nos resultados da consulta.

Para ver uma descrição geral do SQL do Access, consulte o artigo SQL do Access: conceitos básicos, vocabulário e sintaxe.

Neste artigo

Limitar os resultados ao utilizar critérios

Sintaxe da cláusula WHERE

Utilizar a cláusula WHERE para combinar origens de dados

Limitar os resultados ao utilizar critérios

Quando quiser utilizar dados para limitar o número de registos que são devolvidos numa consulta, pode utilizar critérios. Um critério de consulta é semelhante a uma fórmula: é uma cadeia que pode consistir em operadores, constantes e referências de campos. Os critérios de consulta são um tipo de expressão.

A tabela seguinte mostra alguns critérios de exemplo e explicam como funcionam.

Critérios

Descrição

>25 e <50

Este critério aplica-se a um campo Numérico, tal como Preço ou UnidadesEmStock. Inclui apenas os registos onde o campo Preço ou UnidadesEmStock contém um valor superior a 25 e inferior a 50.

DifData ("aaaa", [DataDeNascimento], Data()) > 30

Este critério aplica-se ao campo Data/Hora, tal como DataDeNascimento. Apenas os registos onde o número de anos entre a data de nascimento de uma pessoa e a data de hoje for superior a 30 são incluídos no resultado da consulta.

É Nulo

Este critério pode ser aplicado a qualquer tipo de campo para mostrar registos onde o valor de campo é nulo.

Como pode ver na tabela anterior, os critérios podem ter um aspeto bastante diferente uns dos outros, consoante o tipo de dados do campo a que se aplicam os critérios e os seus requisitos específicos. Alguns critérios são simples e utilizam operadores e constantes simples. Outros são complexos e utilizam funções, operadores especiais e incluem referências de campo.

Importante: Se um campo for utilizado com uma função de agregação, não pode especificar os critérios para esse campo numa cláusula WHERE. Em alternativa, utilize uma cláusula HAVING para especificar critérios para campos agregados. Para obter mais informações, consulte os artigos SQL do Access: conceitos básicos, vocabulário e sintaxe e Cláusula HAVING.

Sintaxe da cláusula WHERE

Utilize critérios de consulta na cláusula WHERE de uma instrução SELECT.

Uma cláusula WHERE tem a seguinte sintaxe básica:

WHERE field = criterion

Por exemplo, suponha que pretende o número de telefone de um cliente, mas só se lembra que o seu apelido é Bagel. Em vez de procurar na sua base de dados de números de telefone, pode utilizar uma cláusula WHERE para limitar os resultados e facilitar a localização do número de telefone pretendido. Partindo do princípio de que os apelidos estão armazenados num campo com o nome LastName, a sua cláusula WHERE será apresentada da seguinte forma:

WHERE [LastName]='Bagel'

Nota: Não tem de basear os critérios na sua cláusula WHERE na equivalência dos valores. Pode utilizar outros operadores de comparação, como > (sinal de maior que) ou < (sinal de menor que). Por exemplo, WHERE [Price]>100.

Utilizar a cláusula WHERE para combinar origens de dados

Por vezes, poderá querer combinar origens de dados com base em campos que têm dados correspondentes, mas tipos de dados diferentes. Por exemplo, um campo numa tabela pode ter um tipo de dados Número e o utilizador pode querer comparar esse campo a um campo na outra tabela que tem um tipo de dados Texto.

Não pode criar uma associação entre campos que tenham tipos de dados diferentes. Para combinar dados de duas origens de dados com base em valores de campos que têm tipos de dados diferentes, pode criar uma cláusula WHERE que utilize um campo como critério para o outro campo, ao utilizar a palavra-chave LIKE.

Por exemplo, suponha que pretende utilizar dados da tabela1 e da tabela2, mas apenas quando os dados no campo1 (um campo de texto na tabela1) correspondem aos dados no campo2 (um campo numérico na tabela2). A sua cláusula WHERE teria o seguinte aspeto:

WHERE field1 LIKE field2

Para obter mais informações sobre como criar critérios para utilizar numa cláusula WHERE, consulte o artigo Exemplos de critérios de consulta.

Início da Página

Aumente os seus conhecimentos do Office
Explore as formações
Seja o primeiro a obter novas funcionalidades
Adira ao Office Insider

As informações foram úteis?

Obrigado pelos seus comentários!

Obrigado pelo seu feedback! Parece que poderá ser benéfico reencaminhá-lo para um dos nossos agentes de suporte do Office.

×