Cláusula WHERE

Especifica quais registros das tabelas listadas na cláusula FROM serão afetados por uma instrução SELECT, UPDATE ou DELETE.

Sintaxe

SELECT listacampos
FROM expressãodetabela
WHERE critérios

Uma instrução SELECT que contém uma cláusula WHERE tem estas partes:

Parte

Descrição

listacampos

O nome do campo ou dos campos a serem recuperados junto com qualquer alias de nome de campo, predicados de seleção (ALL, DISTINCT, DISTINCTROW ou TOP) ou outras opções de instrução SELECT.

expressãodetabela

O nome da tabela ou das tabelas das quais os registros são recuperados.

critérios

Uma expressão à qual os registros devem atender para serem incluídos nos resultados da consulta.


Comentários

O mecanismo de banco de dados do Microsoft Access seleciona os registros que atendem às condições listadas na cláusula WHERE. Se você não especificar uma cláusula WHERE, sua consulta retornará todas as linhas da tabela. Se você especificar mais de uma tabela na sua consulta e não tiver incluído uma cláusula WHERE ou JOIN, sua consulta gerará um produto cartesiano das tabelas.

WHERE é opcional, mas, quando incluído, segue FROM. Por exemplo, você pode selecionar todos os funcionários do departamento de vendas (WHERE Dept = 'Sales') ou todos os clientes entre 18 e 30 anos de idade (WHERE Age Between 18 And 30).

Se você não usar uma cláusula JOIN para executar operações de junção SQL em várias tabelas, o objeto Recordset resultante não será atualizável.

WHERE é similar a HAVING. WHERE determina quais registros são selecionados. Da mesma forma, depois que os registros são agrupados com GROUP BY, HAVING determina quais registros são exibidos.

Use a cláusula WHERE para eliminar registros que você não deseja agrupar por uma cláusula GROUP BY.

Use várias expressões para determinar quais registros a instrução SQL deve retornar. Por exemplo, a seguinte instrução SQL seleciona todos os funcionários com salários superiores a US$ 21.000:

SELECT LastName, Salary FROM Employees WHERE Salary > 21000;

Uma cláusula WHERE pode conter até 40 expressões vinculadas por operadores lógicos, como And e Or.

Ao inserir um nome de campo que contém um espaço ou uma pontuação, coloque o nome entre colchetes ([ ]). Por exemplo, uma tabela de informações de clientes pode incluir informações sobre clientes específicos:

SELECT [Customer’s Favorite Restarant]

Quando você especifica o argumento critérios, os literais de data devem ficar no formato dos EUA, mesmo se você não estiver usando a versão norte-americana do mecanismo de banco de dados do Microsoft Access. Por exemplo, 10 de maio de 1996 é escrito como 10/5/96 no Reino Unido e 5/10/96 nos Estados Unidos. Não deixe de colocar os literais de data entre sinais de número (#), conforme mostrado nos exemplos a seguir.

Para localizar registros datados de 10 de maio de 1996 em um banco de dados do Reino Unido, use a seguinte instrução SQL:

SELECT * FROM Orders WHERE ShippedDate = #5/10/96#;

Também é possível usar a função DateValue, que reconhece as configurações internacionais estabelecidas pelo Microsoft Windows®. Por exemplo, use este código para os Estados Unidos:

SELECT * FROM Orders WHERE ShippedDate = DateValue('5/10/96');

E use este código para o Reino Unido:

SELECT * FROM Orders WHERE ShippedDate = DateValue('10/5/96');

Observação: Se a coluna referenciada na cadeia de caracteres de critérios for do tipo GUID, a expressão de critérios usará uma sintaxe um pouco diferente:

WHERE ReplicaID = {GUID {12345678-90AB-CDEF-1234-567890ABCDEF}}

Não se esqueça de incluir colchetes e hifens aninhados, conforme mostrado.



Expanda suas habilidades
Explore o treinamento
Obtenha novos recursos primeiro
Ingressar no Office Insider

Essas informações foram úteis?

Obrigado por seus comentários!

Agradecemos pelos seus comentários! Parece que pode ser útil conectar você a um de nossos agentes de suporte do Office.

×