Instrução SELECT

Aplica-se a
Access para Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

A SELECT instrução instrui o motor de base de dados do Microsoft Access para devolver informações da base de dados como um conjunto de registos.

Sintaxe

SELECT [*predicate*] { * | *table*.* | [*table*.]*field1* [AS *alias1*] [, [*table*.]*field2* [AS *alias2*] [, ...]]}
FROM *tableexpression* [, ...] [IN *externaldatabase*]
[WHERE ...]
[GROUP BY ...]
[HAVING ...]
[ORDER BY ...]
[WITH OWNERACCESS OPTION]

A SELECT declaração tem as seguintes partes:

Parte Descrição
predicate Um dos seguintes predicados: ALL, DISTINCT, DISTINCTROW ou TOP. Use o predicado para restringir o número de registros retornados. Se nenhum for especificado, o padrão será ALL.
* Indica que todos os campos da tabela ou tabelas especificadas estão selecionados.
tabela O nome da tabela que contém os campos nos quais os registros estão selecionados.
campo1, campo2 Os nomes dos campos que contêm dados que você deseja recuperar. Se você incluir mais de um campo, eles serão recuperados na ordem listada.
alias1, alias2 Nomes a serem utilizados como cabeçalhos de coluna em vez de nomes de coluna originais em tabela.
expressãodetabela Nome(s) da(s) tabela(s) contendo dados que você deseja recuperar.
bancodedadosexterno Nome do banco de dados que contém as tabelas em expressãodetabela, se não estiverem no banco de dados atual.

Comentários

Para efetuar esta operação, o motor de base de dados do Microsoft Access procura a tabela ou tabelas especificadas, extrai as colunas selecionadas, escolhe as linhas que correspondem aos critérios e, em seguida, ordena ou agrupa as linhas resultantes pela ordem especificada.

SELECT As instruções não alteram os dados na base de dados.

SELECT é, normalmente, a primeira palavra numa instrução SQL. A maioria das instruções SQL são instruções SELECT OR SELECT...INTO .

A sintaxe mínima para uma SELECT instrução é:

SELECT *fields* FROM *table*

É possível utilizar um asterisco (*) para selecionar todos os campos numa tabela. O seguinte exemplo seleciona todos os campos da Employees tabela:

SELECT * FROM Employees;

Se o nome de um campo for incluído em mais do que uma tabela na FROM cláusula, preceda-o do nome da tabela e do . operador (dot). No exemplo seguinte, o Department campo está na Employees tabela e na Supervisors tabela. A instrução SQL seleciona os departamentos da tabela e os Employees nomes dos supervisores da Supervisors tabela:

SELECT Employees.Department, Supervisors.SupvName
FROM Employees INNER JOIN Supervisors
WHERE Employees.Department = Supervisors.Department;

Quando um Recordset objeto é criado, o motor de base de dados do Microsoft Access utiliza o nome do campo da tabela como o nome do FieldRecordset objeto no objeto. Se quiser um nome de campo diferente ou se a expressão não implicar um nome, utilize a AS palavra reservada. O exemplo a seguir usa o título Birth para nomear o objeto retornado no objeto resultante FieldRecordset :

SELECT BirthDate AS Birth FROM Employees;

Sempre que utiliza funções agregadas ou consultas que devolvem nomes de objetos ambíguos ou duplicados Field , tem de utilizar a AS cláusula para fornecer um nome alternativo para o Field objeto. O exemplo a seguir usa o título HeadCount para nomear o objeto retornado no objeto resultante FieldRecordset :

SELECT COUNT(EmployeeID) AS HeadCount FROM Employees;

Pode utilizar as outras cláusulas numa SELECT instrução para restringir e organizar ainda mais os dados devolvidos. Para obter mais informações, consulte o tópico de Ajuda para a cláusula que estiver a utilizar.