Este artigo faz parte de um conjunto sobre o SQL do Access. Explica como escrever uma SELECT cláusula e mostra exemplos de técnicas que pode utilizar.
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
- Selecionar campos: a cláusula SELECT
- Selecionar todos os campos
- Selecionar valores diferentes
- Utilizar nomes substitutos para campos ou expressões: a palavra-chave AS
- Selecionar com uma expressão
Selecionar campos: a cláusula SELECT
Normalmente, as SELECT instruções começam com uma SELECT cláusula. Utilize a cláusula para especificar os campos que contêm os dados que pretende numa consulta. Também pode utilizar expressões em vez de campos ou como complemento destes. Até pode utilizar outra SELECT instrução como um campo. Este procedimento denomina-se uma subconsulta.
Suponha que pretende saber os números de telefone dos seus clientes. Se o campo que armazena esses números tiver um nome , a cláusula terá o SELECT seguinte aspetotxtCustomerPhone:
SELECT [txtCustomerPhone]
Pode colocar o nome entre parênteses retos. Se o nome não tiver espaços ou carateres especiais, os parênteses retos são opcionais. Se for esse o caso, tem de utilizá-los.
Sugestão
Um nome com espaços é mais fácil de ler e pode poupar-lhe tempo quando estiver a estruturar formulários e relatórios, mas poderá fazer com que tenha de escrever mais ao escrever instruções SQL. Deve ter este facto em consideração ao atribuir nomes a objetos na sua base de dados do Access.
Se a sua instrução SQL tiver dois ou mais campos com o mesmo nome, adicione o nome da origem de dados de cada campo na SELECT cláusula. Utilize o mesmo nome da origem de dados que utiliza na FROM cláusula.
Selecionar todos os campos
Quando quiser incluir todos os campos de uma origem de dados, pode listá-los individualmente na SELECT cláusula ou utilizar caráter universal de asterisco (*). Quando utiliza o asterisco, o Access determina os campos que a origem de dados contém quando a consulta é executada e inclui todos. Isto ajuda a manter a consulta atualizada quando são adicionados novos campos à origem de dados.
Pode utilizar o asterisco com uma ou mais origens de dados numa instrução SQL. Se utilizar o asterisco com múltiplas origens de dados, inclua o nome da origem de dados com o asterisco para que o Access possa determinar a origem a utilizar.
Por exemplo, imaginemos que pretende selecionar todos os campos da Orders tabela, mas apenas o endereço de e-mail da Contacts tabela. A sua SELECT cláusula poderá ter o seguinte aspeto:
SELECT Orders.*, Contacts.[E-mail Address]
Nota
Tenha em atenção quando utiliza o asterisco. Se, posteriormente, alguém adicionar novos campos à origem de dados e tal não for planeado, os resultados da sua consulta poderão não ser os pretendidos.
Selecionar valores diferentes
Se souber que a sua instrução irá devolver dados duplicados e quiser ver apenas valores diferentes, utilize a DISTINCT palavra-chave na sua SELECT cláusula. Por exemplo, se alguns interesses de clientes utilizarem o mesmo número de telefone, DISTINCT certifique-se de que vê cada número de telefone apenas uma vez:
SELECT DISTINCT [txtCustomerPhone]
Utilizar nomes substitutos para campos ou expressões: a palavra-chave AS
Pode alterar a etiqueta apresentada em qualquer campo na Vista de Folha de Dados ao utilizar a AS palavra-chave e um alias de campo na sua SELECT cláusula. Um alias de campo é um nome que atribui a um campo numa consulta para facilitar a leitura dos resultados. Por exemplo, se quiser selecionar dados de um campo com o nome txtCustPhone, pode facilitar a leitura dos resultados ao utilizar um alias de campo:
SELECT [txtCustPhone] AS [Customer Phone]
Nota
Tem de utilizar um alias de campo ao utilizar uma expressão numa SELECT cláusula.
Selecionar com uma expressão
Por vezes, poderá querer ver cálculos com base nos seus dados ou devolver apenas uma parte do valor de um campo. Por exemplo, imaginemos que pretende devolver o ano em que os clientes nasceram com base nos dados no BirthDate campo. A sua SELECT cláusula poderá ter o seguinte aspeto:
SELECT DatePart("yyyy",[BirthDate]) AS [Birth Year]
Esta expressão utiliza a função PartData e dois argumentos: "yyyy" (uma constante) e [BirthDate] (um identificador).
Pode utilizar qualquer expressão válida como um campo se devolver um único valor para um único valor de entrada.