Voltar para a lista de artigos Artigos
8 minutos de leitura

O que são as consultas SQL básicas?

Você pode acessar os dados em um banco de dados usando algumas consultas SQL básicas. Neste artigo, analisaremos as consultas SQL fundamentais que todo iniciante deve conhecer.

Os bancos de dados estão por toda parte e contêm diferentes tipos de dados. Quase todos eles suportam SQL, uma linguagem que permite ler e manipular os dados dentro de um banco de dados. Neste artigo, mostrarei as consultas básicas de SQL que você pode usar para executar muitas tarefas comuns de dados do dia a dia.

A melhor maneira de aprender SQL é em nosso SQL para Iniciantes curso interativo. Ele tem mais de 120 exercícios, começando com exemplos muito simples e depois avançando para conceitos como JOINs e WHERE conditions. Você pode ler mais sobre SQL em nosso artigo What Is SQL? Você também pode descobrir por que o SQL não é difícil de aprender.

O que é uma consulta SQL?

Um banco de dados é um programa de computador que armazena grandes quantidades de dados. Em geral, os bancos de dados são organizados em tabelas. Cada tabela armazena dados de uma coisa, pessoa, lugar ou algum outro objeto (ou seja, descrevendo clientes, produtos, compromissos ou funcionários, por exemplo). Depois de ter os dados armazenados em um banco de dados, é possível criar relatórios usando esses dados - por exemplo, você pode criar uma lista dos clientes que fizeram transações no último mês.

Você cria relatórios de banco de dados com a ajuda do SQL, ou Structured Query Language (Linguagem de Consulta Estruturada). SQL é a linguagem de programação usada para se comunicar com bancos de dados. Uma consulta SQL é uma expressão, semelhante a uma frase em inglês, que define o conjunto de dados a ser recuperado do banco de dados. Você pode pensar em uma consulta SQL como uma pergunta que você envia ao banco de dados; depois disso, você espera que o banco de dados responda à pergunta enviando os dados de volta.

Neste artigo, mostraremos a você as consultas SQL mais básicas. Elas podem ser usadas para executar tarefas comuns de dados. Você pode modificar facilmente essas consultas SQL e usá-las em seu próprio banco de dados.

Antes de iniciarmos as consultas, vamos dar uma olhada nos dados que usaremos.

Nossa tabela de exemplo

As consultas serão baseadas em uma tabela chamada products. Essa tabela armazena todas as informações de produtos de uma empresa de comércio eletrônico. Você pode ver as colunas da tabela na imagem abaixo:

prod_codenameprod_ familycostpricestockproviderstatus
1001Cell Phone A200Phones50085035Trixavailable
1002Cell Phone A310Phones740120050Trixavailable
1003HeadsetAudio2450150Zeysold out
2001Portable SpeakerAudio14023050Zeyavailable
2002Sound Box Hulk1Audio2203400Zeydiscontinued
2003Sound Box Hulk2Audio32053012Zeyavailable
2004HeadsetAudio325885Zeyavailable
3001Tablet X8 8 inchTablets15530035MiniSOftavailable
3002Tablet X12 12 inchTablets21543040MiniSoftavailable

Os nomes das colunas são autoexplicativos. Talvez a coluna mais importante seja prod_code. Ela armazena um código numérico que identifica cada produto (ou seja, o ID de cada produto). Além disso, é bom observar que a coluna de status pode ter apenas quatro valores válidos: "disponível", "esgotado", "chegando em breve" ou "descontinuado".

Agora que sabemos quais dados esperar, vamos começar a escrever algumas consultas SQL!

Consultas SQL básicas

Consulta 1: Seleção de todos os dados de uma tabela

A primeira consulta é uma maneira simples de recuperar todas as informações de uma tabela de banco de dados. A consulta a seguir mostra todos os registros em todas as colunas da tabela product colunas da tabela:

SELECT * 
FROM products

Essa instrução SELECT usa o símbolo * para representar "todas as colunas". Depois disso, a cláusula FROM indica a tabela a ser lida. Como podemos ver abaixo, o resultado é a tabela completa: todos os registros e todas as colunas. Você pode usar essa consulta para examinar uma tabela e saber que tipo de dados há nela.

prod_codenameprod_ familycostpricestockproviderstatus
1001Cell Phone A200Phones50085035Trixavailable
1002Cell Phone A310Phones740120050Trixavailable
1003HeadsetAudio2450150Zeysold out
2001Portable SpeakerAudio14023050Zeyavailable
2002Sound Box Hulk1Audio2203400Zeydiscontinued
2003Sound Box Hulk2Audio32053012Zeyavailable
2004HeadsetAudio325885Zeyavailable
3001Tablet X8 8 inchTablets15530035MiniSOftavailable
3002Tablet X12 12 inchTablets215430140MiniSoftavailable

Consulta 2: Seleção de colunas específicas de uma tabela

Você também pode mostrar apenas algumas colunas de uma tabela. Vamos supor que queremos uma lista de preços com as colunas name, provider, prod_family e price. A consulta é muito simples:

SELECT 
  name, 
  provider, 
  prod_family, 
  price 
FROM products

Especificamos as colunas que queremos extrair da tabela: name provider prod_family price Na segunda linha da consulta, usamos a cláusula FROM para indicar a tabela a ser lida. O resultado é o seguinte:

nameproviderprod_familyprice
Cell Phone A200TrixPhones850
Cell Phone A310TrixPhones1200
HeadsetZeyAudio50
Portable SpeakerZeyAudio230
Sound Box Hulk1ZeyAudio340
Sound Box Hulk2ZeyAudio530
HeadsetZeyAudio58
Tablet X8 8 inchMiniSOftTablets300
Tablet X12 12 inchMiniSoftTablets430

Consulta 3: Fazendo cálculos simples

Podemos fazer cálculos em uma consulta SQL. Isso nos permite obter um valor calculado derivado de outros valores armazenados na tabela do banco de dados.

Vamos calcular os valores de rentabilidade dos produtos usando as colunas price e cost e, em seguida, mostrar o valor ao lado do nome do produto. Esta é a consulta que usaríamos:

SELECT 
  name,
  price - cost AS rentability
FROM products

A segunda linha da consulta tem a expressão aritmética price - cost. A palavra-chave AS permite atribuir o nome rentability ao resultado dessa expressão aritmética. As novas informações são mostradas como uma coluna no resultado da consulta:

namerentability
Cell Phone A200350
Cell Phone A310460
Headset26
Portable Speaker90
Sound Box Hulk1120
Sound Box Hulk2210
Headset26
Tablet X8 8 inch145
Tablet X12 12 inch215

Consulta 4: Filtragem de dados

Normalmente, você não quer ver todos os dados em um banco de dados. Deseja ver somente as linhas que correspondem a determinados critérios: produtos de uma família de produtos ou com um preço abaixo de um determinado limite. Em SQL, isso é chamado de filtragem de dados.

A cláusula WHERE filtra os dados que você deseja do restante dos dados da tabela. Ela extrai registros que correspondem a determinadas condições. Por exemplo, suponha que queiramos uma lista de preços para produtos da família "Audio". Podemos usar a seguinte consulta para obter o resultado:

SELECT 
  name, 
  provider, 
  prod_family, 
  price 
FROM products
WHERE prod_family = ‘Audio’

A cláusula WHERE indica que queremos obter apenas os registros em que a condição prod_family = ‘Audio’ é TRUE. Outros registros (aqueles pertencentes às famílias Phones ou Tablets) não farão parte do resultado. Em outras palavras, estamos filtrando os registros da tabela products.

nameproviderprod_ familyprice
HeadsetZeyAudio50
Sound Box Hulk1ZeyAudio340
Portable SpeakerZeyAudio230
Sound Box Hulk2ZeyAudio530
HeadsetZeyAudio58

Consulta 5: Classificação de dados no resultado da consulta

Muitas vezes, você deseja ver os resultados da consulta em uma determinada ordem, como produtos do mais barato ao mais caro ou nomes de produtos em ordem alfabética. A cláusula ORDER BY é usada para definir como os registros serão ordenados no resultado da consulta.

Vamos supor que queremos ordenar os produtos de nossa consulta anterior por nome. Observe como usamos ORDER BY nessa consulta:

SELECT 	
  name, 
  provider, 
  prod_family, 
  price 
FROM products
WHERE prod_family = ‘Audio’
ORDER BY name

Podemos ver os mesmos registros em ordem alfabética pelo nome do produto:

nameproviderprod_ familyprice
HeadsetZeyAudio50
HeadsetZeyAudio58
Portable SpeakerZeyAudio230
Sound Box Hulk1ZeyAudio340
Sound Box Hulk2ZeyAudio530

Combinando tudo isso para resolver problemas de negócios

É possível combinar todos os recursos SQL mostrados neste artigo em uma única consulta. A combinação de recursos SQL dessa forma cria uma consulta mais complexa que pode resolver problemas reais de negócios.

O resultado da última consulta da seção anterior é semelhante a uma lista de preços dos produtos da família Audio. Entretanto, ela mostra os produtos que foram descontinuados ou esgotados. Na próxima consulta, adicionaremos uma segunda condição lógica na cláusula WHERE para incluir somente os produtos que estão disponíveis no momento:

SELECT 	
  name, 
  provider, 
  prod_family, 
  price 
FROM products
WHERE prod_family = ’Audio’  
  AND status = ’available’
ORDER BY name

As condições na cláusula WHERE estão conectadas ao conector lógico AND; portanto, o resultado incluirá somente os registros em que ambas as condições lógicas forem TRUE. Podemos ver isso nos resultados a seguir:

nameproviderprod_ familyprice
HeadsetZeyAudio50
HeadsetZeyAudio58
Portable SpeakerZeyAudio230
Sound Box Hulk2ZeyAudio530

No próximo exemplo de consulta, tentaremos combinar todas as cláusulas SQL abordadas neste artigo. Vamos supor que estamos planejando uma campanha de marketing e precisamos escolher dois produtos para promover. Queremos produtos com um aluguel superior a US$ 200 e com um estoque superior a 25 unidades. Também ordenaremos o relatório por uma métrica chamada "rentabilidade potencial", que é calculada com a fórmula: (price - cost) * stock. Aqui está a consulta:

SELECT 
  name, 
  price - cost AS rentability,
  stock, 
  (price - cost) * stock AS potential_rentability
FROM products
WHERE price - cost > 200  
AND stock > 25
ORDER BY (price - cost) * stock DESC;

A consulta anterior calcula duas métricas. Uma métrica é rentability, que é calculada usando a fórmula price - cost. A outra métrica é potential_rentability, que é calculada usando a fórmula (price - cost) * stock. Na cláusula WHERE, a consulta especifica duas condições: os registros a serem retornados devem ter um rentability maior que 200 e um stock maior que 25 unidades. Por fim, o resultado da consulta é ordenado pela métrica potential_rentability em ordem decrescente (do maior para o menor). Veja abaixo o resultado:

namerentabilitystockpotential rentability
Tablet X12 12 inch21514030100
Cell Phone A3104605023000
Cell Phone A2003503512250

Continue aprendendo as consultas SQL básicas!

Neste artigo, abordamos as consultas SQL básicas que podem ser usadas para executar tarefas simples de dados. No entanto, o SQL oferece muito mais cláusulas e técnicas que permitem que você faça mais operações nos dados.

Nosso curso interativo SQL para Iniciantes interativo é a melhor maneira de dominar o SQL básico. Ele contém mais de 120 exercícios que abrangem consultas SQL básicas (como as mostradas neste artigo) e outras construções SQL que permitem combinar dados de várias tabelas e calcular várias estatísticas.

Se você já conhece os conceitos básicos de SQL, nossa Folha de consulta básica de SQL é um recurso de referência útil. Ela lhe dará um lembrete conciso da sintaxe do SQL com exemplos de consultas.