Principais Comandos SQL que Todo Analista de Dados Deve Conhecer
Introdução: Dominando os Comandos Essenciais do SQL
Se você está começando na área de análise de dados, dominar os principais comandos SQL é crucial. Neste artigo, vamos explorar os comandos mais importantes que todo analista de dados deve conhecer, com exemplos práticos e explicações claras.
SELECT: Extraindo Dados das Tabelas
O comando SELECT é a base de qualquer consulta SQL. Ele permite extrair dados de uma ou mais tabelas.
-- Selecionando todas as colunas da tabela de vendas
SELECT * FROM sales_data;
-- Selecionando colunas específicas
SELECT product_name, sales_amount
FROM sales_data
JOIN products ON sales_data.product_id = products.product_id;
WHERE: Filtrando os Dados
O comando WHERE é usado para filtrar os dados com base em condições específicas.
-- Filtrando vendas que ocorreram em 2023
SELECT * FROM sales_data
WHERE sale_date >= '2023-01-01';
-- Filtrando vendas de um produto específico
SELECT * FROM sales_data
JOIN products ON sales_data.product_id = products.product_id
WHERE product_name = 'Laptop';
JOIN: Combinando Dados de Diferentes Tabelas
O comando JOIN é essencial para combinar dados de várias tabelas. Existem diferentes tipos de JOINs, mas os mais comuns são INNER JOIN e LEFT JOIN.
-- Usando INNER JOIN para combinar dados de clientes e vendas
SELECT customers.customer_name, sales_data.sales_amount
FROM customers
INNER JOIN sales_data
ON customers.customer_id = sales_data.customer_id;
-- Usando LEFT JOIN para incluir todos os clientes, mesmo aqueles sem vendas
SELECT customers.customer_name, sales_data.sales_amount
FROM customers
LEFT JOIN sales_data
ON customers.customer_id = sales_data.customer_id;
GROUP BY: Agrupando e Agregando Dados
O comando GROUP BY é utilizado para agrupar dados e realizar operações de agregação, como SUM, AVG, COUNT, etc.
-- Agrupando vendas por produto e calculando o total de vendas
SELECT product_name, SUM(sales_amount) as total_sales
FROM sales_data
JOIN products ON sales_data.product_id = products.product_id
GROUP BY product_name;
ORDER BY: Ordenando os Resultados
O comando ORDER BY é usado para ordenar os resultados de uma consulta em ordem crescente ou decrescente.
-- Ordenando os clientes pelo nome em ordem alfabética
SELECT customer_name, customer_id
FROM customers
ORDER BY customer_name ASC;
HAVING: Filtrando Grupos
O comando HAVING é usado para filtrar grupos de dados após a aplicação do GROUP BY.
-- Agrupando por produto e filtrando aqueles com vendas totais acima de 1000
SELECT product_name, SUM(sales_amount) as total_sales
FROM sales_data
JOIN products ON sales_data.product_id = products.product_id
GROUP BY product_name
HAVING SUM(sales_amount) > 1000;
-- Contando o número de vendas por região e filtrando regiões com mais de 50 vendas
SELECT region, COUNT(*) as number_of_sales
FROM sales_data
JOIN customers ON sales_data.customer_id = customers.customer_id
GROUP BY region
HAVING COUNT(*) > 50;
Cases: Aplicações Práticas dos Comandos SQL
Extração de Vendas por Região
Suponha que você precise analisar as vendas por região para um relatório de desempenho. Usando SELECT e GROUP BY, você pode facilmente agrupar e somar as vendas por região.
-- Exemplo de comando SQL para extrair vendas por região
SELECT region, SUM(sales_amount) as total_sales
FROM sales_data
JOIN customers ON sales_data.customer_id = customers.customer_id
GROUP BY region;
Análise de Clientes com JOIN
Para obter uma visão completa dos clientes e suas compras, você pode usar INNER JOIN para combinar a tabela de clientes com a tabela de vendas.
-- Combinando dados de clientes e vendas
SELECT customers.customer_name, SUM(sales_data.sales_amount) as total_sales
FROM customers
INNER JOIN sales_data
ON customers.customer_id = sales_data.customer_id
GROUP BY customers.customer_name;
Filtragem Avançada com WHERE e HAVING
Para análises mais detalhadas, como encontrar produtos com vendas superiores a um determinado valor, você pode combinar WHERE e HAVING.
-- Encontrando produtos com vendas totais acima de 5000
SELECT product_name, SUM(sales_amount) as total_sales
FROM sales_data
JOIN products ON sales_data.product_id = products.product_id
WHERE sale_date >= '2023-01-01'
GROUP BY product_name
HAVING SUM(sales_amount) > 5000;
Gostou deste guia? Ele foi gerado por inteligência artificial, porém foi revisado por mim!
Caso queiram replicar as consultas, os scripts estão AQUI!, e se quiserem se conectar segue meu Linkedin.
⚒️Ferrramentas de produção:
Ilustrações: Geradas por IA - lexica.art e Copilot Designer
Conteúdo: Gerado por IA e revisado por Humano.
Editor de imagem: Power Point
Revisões: Julio Okuda