Access SQL: conceitos básicos, vocabulário e sintaxe

Access SQL: conceitos básicos, vocabulário e sintaxe

Importante :  Este artigo foi traduzido por um sistema de tradução automática, leia o aviso de isenção de responsabilidade. Para sua referência, veja a versão em inglês deste artigo aqui.

Quando você deseja recuperar dados de um banco de dados, você peça para os dados usando a linguagem de consulta estruturada ou SQL. SQL é uma linguagem de computador que parecida com inglês, mas compreendido programas de banco de dados. Cada consulta que você executa usa SQL nos bastidores.

Noções básicas sobre como funciona o SQL pode ajudá-lo a criar consultas melhores e pode facilitar a entender como corrigir uma consulta que não está retornando os resultados que você deseja.

Este é um de um conjunto de artigos sobre SQL do Access. Este artigo descreve o uso básico do SQL para selecionar dados e usa exemplos para ilustrar a sintaxe SQL.

Neste artigo

O que é SQL?

Básicas cláusulas SQL: SELECT, FROM e onde

Classificar os resultados: ORDER BY

Trabalhando com dados resumidos: Agrupar por e HAVING

Combinando resultados da consulta: união

O que é SQL?

SQL é uma linguagem de computador para trabalhar com conjuntos de fatos e as relações entre elas. Programas de banco de dados relacional, como o Microsoft Office Access, usam o SQL para trabalhar com dados. Ao contrário de muitas linguagens de computador, SQL não é difícil de ler e entender, mesmo para um iniciante. Como muitas linguagens de computador, SQL é um padrão internacional que é reconhecido pelo corpos de padrões como ISO e ANSI.

Você pode usar SQL para descrever os conjuntos de dados que podem ajudá-lo a responder perguntas. Quando você usa SQL, você deve usar a sintaxe correta. Sintaxe é o conjunto de regras pela qual os elementos de um idioma são combinados corretamente. Sintaxe SQL baseado em inglês sintaxe e usa muitos dos mesmos elementos como Visual Basic para sintaxe Applications (VBA).

Por exemplo, uma instrução SQL simple que recupera uma lista de sobrenomes de contatos cujo nome é Mary pode se parecer com isto:

SELECT Last_Name
FROM Contacts
WHERE First_Name = 'Mary';

Observação : SQL não é usado somente para manipulação de dados, mas também para criar e alterar o design de objetos de banco de dados, como tabelas. A parte do SQL que é usado para criar e alterar objetos de banco de dados é chamada linguagem de definição de dados (DDL). Este tópico aborda DDL. Para obter mais informações, consulte o artigo criar ou modificar tabelas ou índices utilizando uma consulta de definição de dados.

Instruções SELECT

Para descrever um conjunto de dados usando o SQL, você escrever uma instrução SELECT. Uma instrução SELECT contém uma descrição completa de um conjunto de dados que você deseja obter de banco de dados. Isso inclui o seguinte:

  • Quais tabelas contêm os dados.

  • Como os dados de diferentes fontes estão relacionados.

  • Quais campos ou cálculos produzirá os dados.

  • Critérios que dados devem corresponder a serem incluídos.

  • Se e como classificar os resultados.

Cláusulas SQL

Como uma frase, uma instrução SQL possui cláusulas. Cada cláusula executa uma função da instrução SQL. Algumas cláusulas são necessários em uma instrução SELECT. A tabela a seguir lista as cláusulas SQL mais 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 incluído nos resultados.

ORDER BY

Especifica como classificar os resultados.

GROUP BY

Em uma instrução SQL que contém funções de agregação, lista os 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 de agregação, especifica as condições que se aplicam aos campos resumidos na instrução SELECT.

Termos SQL

Cada cláusula SQL é composta dos termos — comparável à partes do discurso. A tabela a seguir lista os tipos de termos SQL.

Termo SQL

Comparável parte da fala

Explicação

Exemplo

identificador

substantivo

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

Clientes. [Telefone]

operador

verbo ou advérbio

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

AS

constante

substantiva

Um valor que não muda, como um número ou NULO.

42

expressão

adjetivo

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

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

Início da página

Básicas cláusulas SQL: SELECT, FROM e onde

Uma instrução SQL assume a forma geral:

SELECT field_1
FROM table_1
WHERE criterion_1
;

Observações : 

  • O Access ignora quebras de linha em uma instrução SQL. No entanto, considere o uso de uma linha para cada cláusula para ajudar a melhorar a legibilidade das suas instruções SQL para você e outras pessoas.

  • Cada instrução SELECT termina com um ponto e vírgula (;). A ponto e vírgula pode aparecer no final da última cláusula ou em uma linha por si só no final da instrução SQL.

Um exemplo no Access

A seguir ilustra como uma instrução SQL para uma consulta seleção simples pode parecer no Access:

Guia Objeto SQL mostrando uma instrução SELECT

1. cláusula SELECT

2. cláusula FROM

3. cláusula WHERE

Este exemplo instrução SQL lê "Selecionar os dados que estão armazenados nos campos denominados email e empresa da tabela denominada contatos, especificamente esses registros no qual o valor do campo Cidade for Seattle".

Vamos examinar o exemplo, uma cláusula por vez, para ver como funciona a sintaxe SQL.

Cláusula SELECT

SELECT [E-mail Address], Company

Esta é a cláusula SELECT. Ele consiste em um operador (selecione) seguido por dois identificadores ([email] e empresa).

Se um identificador contiver espaços ou caracteres especiais (como "endereço de email"), ele deve estar entre colchetes.

Uma cláusula SELECT não têm a dizer quais tabelas contêm os campos e ele não pode especificar qualquer condições que devem ser atendidas pelos dados a serem incluídos.

Cláusula SELECT sempre aparece na frente de cláusula FROM em uma instrução SELECT.

A cláusula FROM

FROM Contacts

Esta é a cláusula FROM. Ele consiste em um operador (FROM) seguido por um identificador (contatos).

Uma cláusula FROM não lista os campos a serem selecionados.

A cláusula WHERE

WHERE City="Seattle"

Esta é a cláusula WHERE. Ele consiste em um operador (onde) seguido por uma expressão (cidade = "Seattle").

Observação : Ao contrário de selecionar e cláusulas FROM, a cláusula WHERE é não um elemento obrigatório de uma instrução SELECT.

Você pode realizar muitas das ações que SQL permite que você faça usando SELECT, FROM e cláusulas WHERE. Obter mais informações sobre como usar essas cláusulas são apresentadas nestes artigos adicionais:

Início da página

Classificar os resultados: ORDER BY

Como o Microsoft Excel, o Access permite que você classifique os resultados de consulta em uma folha de dados. Você também pode especificar na consulta como você deseja classificar os resultados quando a consulta é executada, usando uma cláusula ORDER BY. Se você usar uma cláusula ORDER BY, ela é a última cláusula na instrução SQL.

Uma cláusula ORDER BY contém uma lista dos campos que você deseja usar para a classificação, na mesma ordem em que você deseja aplicar as operações de classificação.

Por exemplo, suponha que você deseja que os resultados classificados primeiro por valor do campo da empresa em ordem decrescente, e — se há registros com o mesmo valor para a empresa — classificados Avançar pelos valores no campo endereço de email em ordem crescente. Sua cláusula ORDER BY seria semelhante ao seguinte:

ORDER BY Company DESC, [E-mail Address]

Observação : Por padrão, o Access classifica valores em ordem crescente (A-Z, menor para o maior). Use a palavra-chave DESC para classificar valores em ordem decrescente em vez disso.

Para obter mais informações sobre a cláusula ORDER BY, consulte o tópico Pela cláusula ORDER.

Início da página

Trabalhando com dados resumidos: Agrupar por e HAVING

Às vezes você quer trabalhar com dados resumidos, como o total de vendas em um mês ou os itens mais caros em um inventário. Para fazer isso, você aplicar um aggregate function a um campo na cláusula SELECT. Por exemplo, se quiser que sua consulta para mostrar a contagem de endereços de email listados para cada empresa, cláusula SELECT pode lembrar o seguinte:

SELECT COUNT([E-mail Address]), Company

As funções agregadas que você pode usar dependem do tipo de dados no campo ou expressão que você deseja usar. Para obter mais informações sobre as funções de agregação disponíveis, consulte o artigo Funções de agregação SQL.

Especificando campos que não são usados em uma função de agregação: cláusula o GROUP BY

Quando você usa funções de agregação, você geralmente também deve criar uma cláusula GROUP BY. Uma cláusula GROUP BY lista todos os campos aos quais você não aplicar uma função de agregação. Se você aplicar funções de agregação para todos os campos em uma consulta, você não precisa criar cláusula GROUP BY.

Uma cláusula GROUP BY segue imediatamente a cláusula WHERE, ou a cláusula FROM se não houver nenhuma cláusula WHERE. Uma cláusula GROUP BY lista os campos que aparecem na cláusula SELECT.

Por exemplo, continuar no exemplo anterior, se sua cláusula SELECT se aplica a uma função de agregação para [email], mas não a empresa, sua cláusula GROUP BY seria semelhante ao seguinte:

GROUP BY Company

Para obter mais informações sobre a cláusula GROUP BY, consulte o tópico Pela cláusula GROUP.

Limitando valores agregados usando critérios de grupo: a cláusula HAVING

Se você quiser usar critérios para limitar os resultados, mas o campo que você deseja aplicar critérios é usada em uma função de agregação, você não pode usar uma cláusula WHERE. Em vez disso, você pode usar uma cláusula HAVING. Uma cláusula HAVING funciona como uma cláusula WHERE, mas é usada para dados agregados.

Por exemplo, suponha que você use a função média (que calcula um valor médio) com o primeiro campo na cláusula SELECT:

SELECT COUNT([E-mail Address]), Company

Se desejar que a consulta para restringir os resultados com base no valor da função Contar, você não pode usar critérios para esse campo na cláusula WHERE. Em vez disso, você colocar os critérios em uma cláusula HAVING. Por exemplo, se desejar somente a consulta retorne linhas se houver mais de endereços de um email associados a empresa, a cláusula HAVING pode lembrar o seguinte:

HAVING COUNT([E-mail Address])>1

Observação : Uma consulta pode ter uma cláusula WHERE e uma cláusula HAVING — vá de critérios para campos que não são usados em uma função de agregação na cláusula WHERE e critérios para campos que são usados com funções de agregação ir na cláusula HAVING.

Para obter mais informações sobre a cláusula HAVING, consulte o tópico Tendo cláusula.

Início da página

Combinando resultados da consulta: união

Quando desejar analisar todos os dados que são retornados por várias consultas seleção semelhantes juntos, como um conjunto combinado, você usa o operador de união.

O operador de união permite combinar duas instruções SELECT em uma. As instruções SELECT que você combinar devem ter o mesmo número de campos de saída, na mesma ordem e com os tipos de dados iguais ou compatíveis. Quando você executa a consulta, os dados de cada conjunto de campos correspondentes são combinados em um campo de saída, para que a saída da consulta tem o mesmo número de campos à medida que cada uma das instruções select.

Observação : Em uma consulta união, os tipos de dados Número e Texto são compatíveis.

Quando você usa o operador de união, você também pode especificar se os resultados da consulta devem incluir linhas duplicadas, se houver, usando a palavra-chave tudo.

A sintaxe SQL básica para uma consulta união que combina duas instruções SELECT é da seguinte maneira:

SELECT field_1
FROM table_1
UNION [ALL]
SELECT field_a
FROM table_a
;

Por exemplo, suponha que você tenha uma tabela chamada produtos e outra tabela denominada serviços. Ambas as tabelas têm campos que contêm o nome da garantia do produto ou serviço, o preço, ou garantem a disponibilidade, e se você oferece o produto ou serviço exclusivamente. Embora a tabela de produtos armazena informações de garantia e os armazenamentos de tabela de serviços garantem informações, as informações básicas são o mesmo (se um determinado produto ou serviço inclui uma promessa de qualidade). Você pode usar uma consulta união, como as seguintes, para combinar os quatro campos das duas tabelas:

SELECT name, price, warranty_available, exclusive_offer
FROM Products
UNION ALL
SELECT name, price, guarantee_available, exclusive_offer
FROM Services
;

Para obter mais informações sobre como combinar instruções SELECT usando o operador de união, consulte combinar os resultados de várias consultas seleção usando uma consulta união.

Início da página

Observação : Aviso de Isenção de Tradução Automática: Este artigo foi traduzido por computador, sem intervenção humana. A Microsoft oferece essas traduções automáticas para ajudar as pessoas que não falam inglês a aproveitar os textos escritos sobre produtos, serviços e tecnologias da Microsoft. Como este artigo foi traduzido automaticamente, é possível que contenha erros de vocabulário, sintaxe ou gramática.

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.

×