Relatórios são uma das aplicações mais comuns do SQL no mundo real. Seja para analisar vendas, acompanhar o desempenho de uma empresa ou monitorar dados de clientes, saber criar relatórios eficientes é uma habilidade essencial para quem trabalha com bancos de dados.

Mas como estruturar um relatório no SQL? Como filtrar, agrupar e ordenar dados de maneira útil?

Neste artigo, você aprenderá:

  • Os principais comandos SQL para relatórios
  • Como criar relatórios detalhados e sumarizados
  • Dicas para otimizar consultas e evitar erros

Se você quer transformar dados em insights valiosos, continue lendo!


1. Entendendo a Estrutura de um Relatório SQL

Todo relatório SQL segue uma estrutura básica:

  • Selecionar os dados certos (SELECT)
  • Filtrar informações (WHERE)
  • Agrupar dados (GROUP BY)
  • Ordenar os resultados (ORDER BY)

Vamos ver como isso funciona na prática.


2. Criando um Relatório de Vendas Simples

Suponha que temos uma tabela pedidos com os seguintes campos:

ID_PEDIDOCLIENTEPRODUTODATA_PEDIDOQUANTIDADEPRECO_TOTAL
1AnaNotebook2024-03-1013500.00
2CarlosMouse2024-03-112200.00
3AnaTeclado2024-03-121150.00

Agora, queremos gerar um relatório com todas as vendas do último mês.

Consulta SQL:

SELECT * FROM pedido
WHERE DATA_PEDIDO >= DATE_SUB(CURDATE(), INTERVAL 1 MONTH)
ORDER BY DATA_PEDIDO DESC;

O que essa consulta faz?

  • Filtra os pedidos do último mês.
  • Ordena os resultados da venda mais recente para a mais antiga.

3. Criando um Relatório Resumido com GROUP BY

Se quisermos um relatório resumido mostrando o total de vendas por cliente, usamos GROUP BY.

Consulta SQL:

SELECT CLIENTE, SUM(PRECO_TOTAL) AS TOTAL_GASTO
FROM pedido
GROUP BY CLIENTE
ORDER BY TOTAL_GASTO DESC;

Resultado:

CLIENTETOTAL_GASTO
Ana3650.00
Carlos200.00

O que essa consulta faz?

  • Agrupa os pedidos por cliente.
  • Calcula o total gasto por cliente.
  • Ordena os clientes do maior para o menor valor gasto.

4. Criando um Relatório por Período (Mensal, Anual, Diário)

Se quisermos ver quantas vendas foram feitas por mês, podemos agrupar os dados por ano e mês.

Consulta SQL:

SELECT YEAR(DATA_PEDIDO) AS ANO, MONTH(DATA_PEDIDO) AS MES, COUNT(*) AS TOTAL_PEDIDO
FROM pedido
GROUP BY ANO, MES
ORDER BY ANO DESC, MES DESC;

Resultado:

ANOMESTOTAL_PEDIDO
202433
202425

O que essa consulta faz?

  • Agrupa os pedidos por ano e mês.
  • Conta quantos pedidos foram feitos em cada mês.
  • Ordena os resultados do mais recente para o mais antigo.

5. Criando Relatórios com JOINS (Dados de Múltiplas Tabelas)

Agora, suponha que temos uma tabela de clientes separada e queremos gerar um relatório que mostre os pedidos com os dados dos clientes.

Consulta SQL usando JOIN:

SELECT cliente.NOME, pedido.PRODUTO, pedido.PRECO_TOTAL, pedido.DATA_PEDIDO
FROM pedido
INNER JOIN cliente ON pedido.ID_CLIENTE = cliente.ID_CLIENTE
ORDER BY pedido.DATA_PEDIDO DESC;

Resultado:

NOMEPRODUTOPRECO_TOTALDATA_PEDIDO
Ana SouzaNotebook3500.002024-03-10
Carlos LimaMouse200.002024-03-11

O que essa consulta faz?

  • Combina dados da tabela cliente e pedido.
  • Retorna um relatório com cliente + produto + valor + data.

6. Erros Comuns ao Criar Relatórios SQL

Erro 1: Esquecer de usar GROUP BY ao usar funções agregadas

Errado:

SELECT CLIENTE, SUM(PRECO_TOTAL) FROM pedido;

Correção:

SELECT CLIENTE, SUM(PRECO_TOTAL) FROM pedido GROUP BY CLIENTE;

Erro 2: Filtrar datas sem considerar horários

Errado:

SELECT * FROM pedido WHERE DATA_PEDIDO = ‘2024-03-10’;

Correção:

SELECT * FROM pedido WHERE DATA_PEDIDO BETWEEN ‘2024-03-10 00:00:00’ AND ‘2024-03-10 23:59:59’;

Erro 3: Criar consultas sem índices em colunas filtradas

Se a consulta está lenta, crie um índice na coluna de data:

CREATE INDEX idx_data ON pedido(DATA_PEDIDO);


Conclusão

Relatórios SQL são essenciais para tomada de decisões e análise de dados.

  • Para relatórios detalhados, use SELECT, WHERE e ORDER BY.
  • Para relatórios sumarizados, use GROUP BY com SUM, COUNT ou AVG.
  • Para relatórios por período, agrupe por ano e mês.
  • Para relatórios avançados, use JOIN para combinar dados de múltiplas tabelas.

Se você quer aprender mais sobre SQL na prática, continue acompanhando o Blog do SQL e conheça o curso SQL Simplificado, onde você aprende a criar relatórios otimizados e eficientes!

Agora me conta: Você já precisou gerar um relatório SQL? Teve dificuldades?

Tags: | |

0 Comentários

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Solicitar exportação de dados

Use este formulário para solicitar uma cópia de seus dados neste site.

Solicitar a remoção de dados

Use este formulário para solicitar a remoção de seus dados neste site.

Solicitar retificação de dados

Use este formulário para solicitar a retificação de seus dados neste site. Aqui você pode corrigir ou atualizar seus dados, por exemplo.

Solicitar cancelamento de inscrição

Use este formulário para solicitar a cancelamento da inscrição do seu e-mail em nossas listas de e-mail.