Voltar para a lista de artigos Artigos
9 minutos de leitura

Consultas SQL que você realmente usará na vida real

Aprenda as consultas SQL essenciais que os analistas de dados, os profissionais de marketing e as equipes de produtos utilizam todos os dias, com exemplos simples e fáceis de entender.

Quando se está começando a usar SQL, é fácil ficar sobrecarregado com a sintaxe e a teoria. Mas a verdade é a seguinte: a maioria dos profissionais, sejam eles analistas de dados, profissionais de marketing ou gerentes de produtos, usa um pequeno conjunto de consultas SQL repetidamente para realizar um trabalho real. Você não precisa aprender tudo de uma vez.

Este artigo o orienta nas consultas SQL essenciais que os iniciantes realmente usam no trabalho. Nada de dados abstratos ou matemática complicada - apenas exemplos claros e fáceis de usar para iniciantes que você pode entender e aplicar imediatamente.

Vamos imaginar que você esteja trabalhando com o banco de dados de uma livraria on-line. Você deseja analisar as tabelas de pedidos e clientes para responder a perguntas comerciais cotidianas.

Para aprender SQL passo a passo, com exercícios práticos e exemplos do mundo real, acesse nosso cursoSQL para Iniciantes . Ele tem tudo o que você precisa para construir uma base sólida. O curso inclui 129 exercícios interativos, todos voltados para o aprendizado prático. Você escreverá código SQL real desde o início, obterá feedback instantâneo e ganhará confiança para usar o SQL em seu trabalho diário.

Vamos começar com as consultas!

1. Examine uma amostra dos dados

A primeira consulta que você executará em quase todos os bancos de dados é uma rápida olhada nos próprios dados. Você quer ver com que tipo de informação está trabalhando.

SELECT * 
FROM orders
LIMIT 10;

Essa consulta seleciona todas as colunas, mas mostra apenas as 10 primeiras linhas. Ela lhe dá uma rápida olhada na estrutura da tabela orders incluindo colunas como order_id, customer_id, order_date e total_amount. É uma maneira simples de se familiarizar com o conjunto de dados antes de iniciar a análise. É importante não selecionar todas as linhas da tabela, especialmente em conjuntos de dados grandes, pois isso pode sobrecarregar o banco de dados. Selecionar apenas 10 ou 20 linhas é uma maneira segura de visualizar os dados.

2. Conheça o tamanho da sua tabela

A próxima consulta que você normalmente executa é para descobrir quantas linhas existem em uma tabela:

SELECT COUNT(*) 
FROM orders;

Isso informa quantos pedidos sua empresa tem no total. É uma boa ideia executar essa consulta para todas as tabelas com as quais planeja trabalhar, para que você saiba o tamanho de cada uma delas antes de mergulhar na análise.

3. Ver todos os valores exclusivos em uma coluna

Em seguida, você deverá verificar todos os valores exclusivos em uma coluna, especialmente nas colunas de "dicionário", como nomes de cidades, categorias de produtos ou métodos de pagamento. Essas são colunas em que cada valor representa um rótulo, tipo ou categoria, e entender o que há nelas ajuda você a tomar decisões melhores durante a análise.

Por exemplo, para ver todos os diferentes métodos de pagamento usados:

SELECT DISTINCT payment_method 
FROM orders;

A palavra-chave DISTINCT remove as duplicatas dos resultados. Em vez de mostrar o valor de cada linha, ela retorna apenas uma vez cada valor exclusivo. Portanto, se "credit_card" aparecer 5.000 vezes na tabela, ele aparecerá apenas uma vez no resultado.

Isso é útil quando você deseja:

  • Verificar a lista completa de opções disponíveis em uma coluna.
  • Entender como os valores são categorizados.
  • Preparar-se para filtrar, agrupar ou limpar seus dados.

Você pode usar DISTINCT com qualquer coluna para explorar rapidamente a variedade de valores que ela contém.

4. Contar a frequência com que cada valor aparece

Essa é uma das consultas mais comumente usadas na vida real. Ela o ajuda a ver a distribuição de valores em uma coluna, especialmente em colunas de "dicionário" como payment_method, category ou city.

Digamos que você queira saber quantos pedidos foram feitos usando cada método de pagamento:

SELECT payment_method, COUNT(*) AS num_orders
FROM orders
GROUP BY payment_method;

Essa consulta agrupa as linhas por payment_method e, em seguida, conta quantas linhas (ou seja, pedidos) se enquadram em cada grupo. O resultado mostra cada método de pagamento junto com o número de pedidos que o utilizaram.

Use esse padrão sempre que quiser dividir seus dados por categoria - por exemplo, para ver quantos pedidos vieram de cada cidade ou quantos produtos se enquadram em cada categoria.

Para facilitar a leitura dos resultados, você pode classificá-los por frequência (da maior para a menor):

SELECT payment_method, COUNT(*) AS num_orders
FROM orders
GROUP BY payment_method
ORDER BY COUNT(*) DESC;

Isso o ajuda a ver rapidamente quais valores são os mais comuns.

5. Encontre os valores mínimo, máximo e médio

Em seguida, você desejará ver o intervalo de valores em uma coluna numérica. Isso ajuda você a entender coisas como tamanho do pedido, preço ou quantidade.

Por exemplo, para verificar o menor, o maior e o valor médio dos pedidos:

SELECT 
  MIN(total_amount) AS smallest_order,
  MAX(total_amount) AS biggest_order,
  AVG(total_amount) AS average_order
FROM orders;

Essa consulta usa três funções de agregação:

  • MIN encontra o menor valor.
  • MAX encontra o maior valor.
  • AVG calcula a média.

Isso lhe dá uma visão geral rápida da dispersão de valores na coluna total_amount - útil para identificar valores discrepantes ou definir limites para análise posterior.

Bônus: é possível dividir o intervalo por categoria usando GROUP BY. Por exemplo, para ver o valor mínimo, máximo e médio do pedido por método de pagamento:

SELECT  
  payment_method,  
  MIN(total_amount) AS smallest_order,  
  MAX(total_amount) AS biggest_order,  
  AVG(total_amount) AS average_order  
FROM orders  
GROUP BY payment_method;

Isso permite que você compare o desempenho de diferentes categorias, como qual método de pagamento tende a ter valores de pedidos mais altos ou mais baixos.

6. Filtrar linhas com WHERE

Às vezes, você não precisa de toda a tabela, apenas das linhas que atendem a condições específicas.

Por exemplo, para ver apenas os pedidos acima de US$ 100:

SELECT *
FROM orders
WHERE total_amount > 100;

É assim que você se concentra em pedidos de alto valor, o que é ótimo para identificar grandes gastadores ou clientes VIP em potencial.

Você também pode combinar várias condições usando AND:

SELECT *
FROM orders
WHERE total_amount > 100
  AND payment_method = 'credit_card';

Agora você está filtrando os clientes que gastaram mais de US$ 100 e pagaram com cartão de crédito - talvez esses sejam seus usuários mais valiosos.

A filtragem com WHERE é uma das coisas mais úteis que você fará no SQL. Ela o ajuda a responder a perguntas comerciais específicas, como:

  • Quem fez compras grandes?
  • Quem usou um método de pagamento específico?
  • Quais pedidos ocorreram após uma determinada data?

Você também pode usar OR, IN, NOT e outros operadores para personalizar ainda mais seus filtros - mas WHERE é o ponto de partida para quase todos os mergulhos profundos nos dados.

7. Classifique seus dados com ORDER BY

Deseja ver primeiro os pedidos de maior valor? Você pode classificar os resultados usando ORDER BY e controlar a direção com DESC (para descendente) ou ASC (para ascendente):

SELECT *  
FROM orders  
ORDER BY total_amount DESC  
LIMIT 10;

Isso mostra os 10 maiores pedidos já feitos, classificados do maior para o menor por total_amount.

Esse tipo de consulta é excelente para todos os tipos de tarefas de classificação, como:

  • Encontrar os resultados superiores ou inferiores com base em qualquer coluna.
  • Classificar itens por vendas, quantidade ou desempenho.
  • Identificar tendências ao ordenar dados ao longo do tempo.
  • Destacar valores discrepantes ou incomuns.

Se, em vez disso, você quiser ver os menores pedidos, basta alterar DESC para ASC:

…
ORDER BY total_amount ASC

Dica profissional: você pode classificar por qualquer coluna, não apenas por números. Por exemplo, a classificação por order_date mostra os pedidos mais novos ou mais antigos, dependendo da direção da classificação.

8. Combine tabelas com JOIN

Uma das consultas mais comuns que você usará na vida real é a JOIN. Isso se deve ao fato de que as informações úteis geralmente estão espalhadas por várias tabelas. Você precisará combiná-las constantemente para ter uma visão completa.

Por exemplo, a tabela de pedidos armazena apenas o endereço customer_id, não o nome real do cliente. Para ver cada pedido junto com o nome da pessoa que o fez, você precisa uni-lo à tabela customers:

SELECT  
  o.order_id,  
  c.customer_name,  
  o.total_amount,  
  o.order_date  
FROM orders o  
JOIN customers c ON o.customer_id = c.customer_id;

Essa consulta conecta as duas tabelas usando a coluna customer_id, que existe em ambas. Usamos aliases de tabela (o para orders, c para customers) para facilitar a leitura da consulta.

O resultado? Um conjunto de dados muito mais útil. Agora você pode ver quem fez cada pedido, quanto gastou e quando - o que é essencial para a análise do cliente, relatórios e insights comerciais.

Os JOINs estão em toda parte. Sempre que trabalhar com bancos de dados reais, você unirá tabelas, sejam elas de pedidos e clientes, produtos e categorias ou usuários e registros de atividades.

9. Filtrar por um intervalo de datas

Uma das tarefas mais comuns na vida real é filtrar dados para um período de tempo específico, como mostrar todos os pedidos de um determinado mês ou trimestre.

Digamos que você queira ver todos os pedidos feitos em maio de 2024:

SELECT *  
FROM orders  
WHERE order_date >= '2025-05-01'  
  AND order_date < '2025-06-01';

Isso retorna todos os pedidos em que order_date cai entre 1º de maio e 31 de maio de 2025 - incluindo 1º de maio e até (mas não incluindo) 1º de junho.

O formato de data usado aqui é YYYY-MM-DD:

  • YYYY = ano com 4 dígitos (por exemplo, 2024)
  • MM = mês com 2 dígitos (por exemplo, 05 para maio)
  • DD = dia com 2 dígitos (por exemplo, 01 para o dia 1º do mês)

Usar < '2024-06-01' em vez de <= '2024-05-31' é mais seguro quando sua coluna inclui valores de tempo, como '2024-05-31 15:42:00', pois evita a exclusão acidental de dados do último dia.

Dica final: Pratique com dados realistas

A melhor maneira de se lembrar dessas consultas é usá-las. Pratique com dados que façam sentido para você, como pedidos de clientes, tráfego de blogs ou uso de aplicativos. O SQL não precisa ser muito complicado. Você não precisa de centenas de comandos para fazer um trabalho real - apenas um pequeno conjunto de consultas práticas nas quais você pode confiar todos os dias.

Para desenvolver confiança real e memória muscular, experimente o cursoSQL para Iniciantes em LearnSQL.com.br. Ele oferece prática com conjuntos de dados realistas e 129 exercícios interativos, para que você aprenda escrevendo SQL de verdade, e não apenas lendo sobre ele.

Comece com os princípios básicos acima e você se surpreenderá com o quanto eles podem levá-lo longe.