Especifica registros selecionados com consultas SQL.
Sintaxe
SELECIONE [ALL | DISTINCT | DISTINCTROW | [TOP n [PERCENT]]]
Tabela FROM
Uma instrução SELECT que contém esses predicados tem as seguintes partes:
Parte |
Descrição |
ALL |
Presumido se você não incluir um dos predicados. O mecanismo de banco de dados do Microsoft Access seleciona todos os registros que atendem às condições na instrução SQL. Os dois exemplos a seguir são equivalentes e retornam todos os registros da tabela Funcionários:
|
DISTINCT |
Omite registros que contêm dados duplicados nos campos selecionados. Para ser incluído nos resultados da consulta, os valores de cada campo listado na instrução SELECT devem ser exclusivos. Por exemplo, vários funcionários listados em uma tabela Funcionários podem ter o mesmo sobrenome. Se dois registros contiverem Smith no campo LastName, a seguinte instrução SQL retornará apenas um registro que contém Smith:
Se você omitir DISTINCT, essa consulta retornará ambos os registros smith. Se a cláusula SELECT contiver mais de um campo, a combinação de valores de todos os campos deverá ser exclusiva para que um determinado registro seja incluído nos resultados. A saída de uma consulta que usa DISTINCT não é atualizável e não reflete as alterações subsequentes feitas por outros usuários. |
DISTINCTROW |
Omite dados com base em registros duplicados inteiros, não apenas em campos duplicados. Por exemplo, você pode criar uma consulta que ingresse nas tabelas Clientes e Pedidos no campo CustomerID. A tabela Clientes não contém campos CustomerID duplicados, mas a tabela Pedidos faz porque cada cliente pode ter muitos pedidos. A instrução SQL a seguir mostra como você pode usar o DISTINCTROW para produzir uma lista de empresas que têm pelo menos um pedido, mas sem detalhes sobre esses pedidos:
Se você omitir DISTINCTROW, essa consulta produzirá várias linhas para cada empresa que tem mais de um pedido. DISTINCTROW só tem um efeito quando você seleciona campos de alguns, mas não todos, das tabelas usadas na consulta. DISTINCTROW será ignorado se a consulta incluir apenas uma tabela ou se você produzir campos de todas as tabelas. |
TOP n [PERCENT] |
Retorna um determinado número de registros que caem na parte superior ou inferior de um intervalo especificado por uma cláusula ORDER BY. Suponha que você queira os nomes dos 25 melhores alunos da classe de 1994:
Se você não incluir a cláusula ORDER BY, a consulta retornará um conjunto arbitrário de 25 registros da tabela Students que satisfaça a cláusula WHERE. O predicado TOP não escolhe entre valores iguais. No exemplo anterior, se as médias de 25 e 26 pontos de grau mais altas forem as mesmas, a consulta retornará 26 registros. Você também pode usar a palavra percent reservada para retornar uma determinada porcentagem de registros que caem na parte superior ou inferior de um intervalo especificado por uma cláusula ORDER BY. Suponha que, em vez dos 25 melhores alunos, você queira os 10% mais baixos da classe:
O predicado ASC especifica um retorno de valores inferiores. O valor que segue TOP deve ser um Inteiro não assinado. O TOP não afeta se a consulta é atualizável ou não. |
tabela |
O nome da tabela da qual os registros são recuperados. |