Editar instruções SQL para ajustar os resultados da consulta
Applies ToAccess para Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Se suas consultas não estiverem funcionando o suficiente, adicionar algumas instruções básicas de SQL pode ajudar a concentrar seus resultados. Vamos examinar alguns tipos de instruções SQL e as cláusulas ou partes que você pode editar para obter os resultados desejados.

Observação:  Este artigo não é válido para aplicativos Web do Access, o tipo de banco de dados criado com o Access e publicado online.

Neste artigo

Criar uma instrução Selecionar

Uma instrução de seleção SQL tem de duas a três cláusulas. A cláusula SELECT informa ao banco de dados onde procurar os dados e pede que ele retorne um resultado específico.

Observação:  As instruções SELECT sempre terminam com um ponto semiso (;) no final da última cláusula ou em uma linha por si só no final da instrução SQL.

A instrução de seleção a seguir pede ao Access para obter informações das colunas Endereço de email e Empresa, na tabela Contatos, especificamente onde encontra "Seattle" na coluna Cidade.

Guia Objeto SQL mostrando uma instrução SELECT

A consulta acima tem três cláusulas SELECT, FROM e WHERE.

1. A cláusula SELECT lista as colunas que contêm os dados que você deseja usar e tem um operador (SELECT) seguido por dois identificadores (Endereço de email e Empresa). Se um identificador tiver espaços ou caracteres especiais (como "Endereço de email"), inclua o identificador dentro de colchetes.

2. A cláusula FROM identifica a tabela de origem. Neste exemplo, ele tem um operador (FROM) seguido por um identificador (Contatos).

3. A cláusula WHERE é uma cláusula opcional. O exemplo tem um operador (WHERE) seguido por uma expressão (City="Seattle").

Para obter mais informações sobre consultas selecionadas, consulte criar uma consulta de seleção simples.

Aqui está uma lista de cláusulas SQL comuns:

Cláusula SQL

O que ela faz

Necessário ?

SELECT

Lista os campos que contêm dados de interesse.

Sim

FROM

Lista as tabelas que contêm os campos listados na cláusula SELECT.

Sim

WHERE

Especifica critérios de campo que devem ser atendidos por cada registro a ser incluído nos resultados.

Não

ORDER BY

Especifica como classificar os resultados.

Não

GROUP BY

Em uma instrução SQL que contém funções agregadas, lista campos que não são resumidos na cláusula SELECT.

Somente se houver esses campos

HAVING

Em uma instrução SQL que contém funções agregadas, especifica condições que se aplicam a campos resumidos na instrução SELECT.

Não

Cada cláusula SQL é composta por termos. Aqui está uma lista de alguns termos SQL comuns.

Termo SQL

Explicação

Exemplo

Identificador

Um nome que você usa para identificar um objeto de banco de dados, como o nome da coluna.

[Endereço de email] e Empresa

operador

Uma palavra-chave que representa uma ação ou modifica uma ação.

AS

constante

Um valor que não é alterado, como um número ou NULL.

42

expressão

Uma combinação de identificadores, operadores, constantes e funções avaliadas como um único valor.

>= Produtos. [Preço unitário]

Início da Página

Personalizando a cláusula SELECT

Personalizar

Exemplo

Para ver apenas os valores distintos.

Use a palavra-chave DISTINCT na cláusula SELECT.

Por exemplo, se seus clientes forem de várias filiais diferentes e alguns tiverem o mesmo número de telefone e você quiser ver apenas um número de telefone listado uma vez, sua cláusula SELECT será assim:

SELECT DISTINCT [txtCustomerPhone] 

Para alterar a forma como um identificador aparece no modo de exibição de folha de dados para melhorar a legibilidade.

Use o operador AS (uma palavra-chave que representa uma ação ou modifica uma ação) com um alias de campo na cláusula SELECT. Um alias de campo é um nome que você atribui a um campo para facilitar a leitura dos resultados.

SELECT [txtCustPhone] AS [Customer Phone]

Personalizando a cláusula FROM

Personalizar

Exemplo

Você pode usar um alias de tabela ou um nome diferente que você atribuir a uma tabela em uma instrução selecionada. Um alias de tabela será útil se o nome do nome da tabela for longo, especialmente quando você tem vários campos que têm o mesmo nome de tabelas diferentes.

Para selecionar dados de dois campos, ambos chamados ID, um deles vem do tblCustomer da tabela e o outro da tabela tblOrder:

SELECT [tblCustomer].[ID],        [tblOrder].[ID]

Use o operador AS para definir aliases de tabela na cláusula FROM:

FROM [tblCustomer] AS [C],      [tblOrder] AS [O] 

Em seguida, você pode usar esses aliases de tabela em sua cláusula SELECT, da seguinte maneira:

SELECT [C].[ID],        [O].[ID]

Use junções para combinar pares de registros de duas fontes de dados em um único resultado ou para especificar se deve incluir registros de qualquer tabela se não houver nenhum registro correspondente na tabela relacionada.

Junte as tabelas para que a consulta combine os itens das tabelas e exclua itens quando não houver nenhum registro correspondente na outra tabela

Veja como a cláusula FROM pode ser:

FROM [tblCustomer] INNER JOIN [tblOrder]ON [tblCustomer].[CustomerID]=[tblOrder].[CustomerID] 

Sobre o uso de junções

Há dois tipos de junções, junções internas e externas. Junções internas são mais comuns em consultas. Quando você executa uma consulta com uma junção interna, o resultado mostra apenas os itens em que existe um valor comum em ambas as tabelas unidas.

As junções externas especificam se devem incluir dados em que nenhum valor comum existe. As junções externas são direcionais, o que significa que você pode especificar se deve incluir todos os registros da primeira tabela especificada na junção (chamada de junção à esquerda) ou incluir todos os registros da segunda tabela na junção (chamada de junção à direita). Uma junção externa tem a seguinte sintaxe SQL:

FROM table1 [ LEFT | RIGHT ] JOIN table2ON table1.field1 = table2.field2

Confira mais informações sobre como usar junções em uma consulta em Tabelas e consultas de junção.

Início da Página

Personalizando a cláusula WHERE

A cláusula WHERE inclui critérios que ajudam a limitar o número de itens retornados em uma consulta. Confira exemplos de critérios de consulta e como eles funcionam.

Um exemplo de como você pode personalizar a cláusula WHERE básica é limitar os resultados de uma consulta; Suponha que você queira localizar o número de telefone de um cliente e só se lembre do sobrenome dele como Bagel. Neste exemplo, os sobrenomes são armazenados em um campo LastName, portanto, a sintaxe SQL seria:

WHERE [LastName]='Bagel'

Use a cláusula WHERE também para combinar fontes de dados para colunas que têm dados correspondentes, mas tipos de dados diferentes. Isso é útil, pois você não pode criar uma junção entre campos com tipos de dados diferentes. Use um campo como critério para o outro campo, com a palavra-chave LIKE . Por exemplo, se você quiser usar dados de uma tabela ativos e tabela Funcionários, somente quando o tipo de ativo no campo tipo de ativo da tabela Ativos tiver o número 3 no campo Quantidade da tabela Funcionários, veja como sua cláusula WHERE ficaria:

WHERE field1 LIKE field2

Importante:  Não pode especificar critérios para um campo utilizado com uma função de agregação numa cláusula WHERE. Em vez disso, use uma cláusula HAVING para especificar critérios para os campos agregados.

Início da Página

Personalizar com o operador UNION

Utilize o operador UNION quando quiser ver uma vista combinada dos resultados de várias consultas de seleção semelhantes. Por exemplo, se a base de dados tiver uma tabela Produtos e uma tabela Serviços e ambos tiverem três campos: oferta exclusiva ou produto ou serviço, preço, garantia ou garantia. Embora a tabela Produtos armazene informações de garantia e a tabela Serviços armazene informações de garantia, as informações básicas são as mesmas. Pode utilizar uma consulta união para combinar os três campos das duas tabelas da seguinte forma:

SELECT name, price, warranty, exclusive_offerFROM ProductsUNION ALLSELECT name, price, guarantee, exclusive_offer FROM Services;

Quando executa a consulta, os dados de cada conjunto de campos correspondentes são combinados num único campo de saída. Para incluir linhas duplicadas nos resultados, utilize o operador ALL.

Observação:  A instrução Select tem de ter o mesmo número de campos de saída, pela mesma ordem e com os mesmos tipos de dados ou tipos de dados compatíveis. Para efeitos de uma consulta união, os tipos de dados Número e Texto são compatíveis.

Para obter mais informações sobre as consultas União, veja Utilizar uma consulta união para ver um resultado unificado de várias consultas.

Início da Página

Precisa de mais ajuda?

Quer mais opções

Explore os benefícios da assinatura, procure cursos de treinamento, saiba como proteger seu dispositivo e muito mais.

As comunidades ajudam você a fazer e responder perguntas, fazer comentários e ouvir especialistas com conhecimento avançado.