SQL do Access: Cláusula WHERE
Applies ToAccess para Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

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

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

Precisa de mais ajuda?

Quer mais opções?

Explore os benefícios da subscrição, navegue em cursos de formação, saiba como proteger o seu dispositivo e muito mais.

As comunidades ajudam-no a colocar e a responder perguntas, a dar feedback e a ouvir especialistas com conhecimentos abrangentes.