Visão Geral
Este portfólio reúne uma série de análises desenvolvidas em SQL, com foco em demonstrar habilidades práticas em:
- Exploração de dados
- Modelagem analítica
- Geração de insights
A base utilizada reúne indicadores econômicos, sociais, educacionais e uma série temporal do mercado financeiro (Petrobras), permitindo análises multidimensionais e comparações ao longo do tempo.
O foco deste projeto é responder perguntas de negócio utilizando SQL como principal ferramenta analítica.
Objetivos do Projeto
- Demonstrar domínio em SQL aplicado a análise de dados
- Explorar relações entre indicadores econômicos e sociais
- Construir métricas e indicadores derivados
- Identificar padrões, correlações e anomalias
- Apresentar insights com clareza e contexto de negócio
Técnicas Utilizadas
- SELECT, WHERE, ORDER BY
- INNER JOIN
- GROUP BY e funções agregadas (AVG, SUM, MAX, MIN)
- CASE WHEN
- Common Table Expressions (CTEs)
- Window Functions (ROW_NUMBER, AVG OVER)
- Análise temporal
- Criação de métricas derivadas
- Ranking e segmentação de dados
Estrutura do Projeto
portfolio-sql/
│
├── 01_ranking_economico.sql
├── 02_expectativa_vida.sql
├── 03_renda_vs_vida.sql
├── 04_mortalidade_por_renda.sql
├── 05_gap_educacional.sql
├── 06_crescimento_populacional.sql
├── 07_ranking_regional_window.sql
├── 08_anomalias_petrobras.sql
├── 09_media_movel_petrobras.sql
└── 10_volatilidade_petrobras.sql
Projetos e Análises
1. Ranking Econômico Global (2023)
Pergunta de negócio: Quais países possuem maior PIB per capita em 2023?
Técnica aplicada: JOIN + filtro temporal + ordenação + ranking
SELECT
g.country,
c.wb4income,
g.gdp_pc
FROM gdp_pc g
JOIN country c
ON g.country = c.country
WHERE g.ref_year = 2023
ORDER BY g.gdp_pc DESC
LIMIT 10;
Insight: Os maiores PIBs per capita estão concentrados em países classificados como alta renda (High Income), como Luxemburgo, Irlanda e Singapura.
Aplicação prática: Análise comparativa de desenvolvimento econômico entre países.
2. Expectativa de Vida por País
Pergunta de negócio: Quais países apresentam maior expectativa de vida?
Técnica aplicada: JOIN + ordenação
SELECT
l.country,
c.wb4income,
l.tot_years AS life_expectancy
FROM life_expectancy l
JOIN country c
ON l.country = c.country
WHERE l.ref_year = 2023
ORDER BY l.tot_years DESC
LIMIT 10;
Insight: Países com maior expectativa de vida estão fortemente associados a economias desenvolvidas.
3. Relação entre Renda e Expectativa de Vida
Pergunta de negócio: Existe relação entre riqueza e longevidade?
Técnica aplicada: JOIN com múltiplas chaves + análise relacional
SELECT
g.country,
g.gdp_pc,
l.tot_years AS life_expectancy
FROM gdp_pc g
JOIN life_expectancy l
ON g.country = l.country
AND g.ref_year = l.ref_year
WHERE g.ref_year = 2023
ORDER BY g.gdp_pc DESC;
Insight: Há tendência de que países mais ricos tenham maior expectativa de vida, mas não é uma relação absoluta.
4. Mortalidade Infantil por Faixa de Renda
Pergunta de negócio: Como a mortalidade infantil varia entre níveis de renda?
Técnica aplicada: GROUP BY + AVG
SELECT
c.wb4income,
ROUND(AVG(cm.tot_deaths), 2) AS avg_child_mortality
FROM child_mortality cm
JOIN country c
ON cm.country = c.country
WHERE cm.ref_year = 2023
GROUP BY c.wb4income
ORDER BY avg_child_mortality DESC;
Insight: Países de baixa renda apresentam, em média, maior mortalidade infantil.
5. Gap Educacional entre Homens e Mulheres
Pergunta de negócio: Existe diferença educacional entre gêneros?
Técnica aplicada: JOIN + métrica derivada
SELECT
w.country,
w.ref_year,
w.mean_years AS women_years,
m.mean_years AS men_years,
ROUND(m.mean_years - w.mean_years, 2) AS gender_gap
FROM women_years_at_school w
JOIN men_years_at_school m
ON w.country = m.country
AND w.ref_year = m.ref_year
WHERE w.ref_year = 2009
ORDER BY ABS(m.mean_years - w.mean_years) DESC
LIMIT 15;
Insight: Persistem desigualdades educacionais relevantes em diversos países.
6. Crescimento Populacional
Pergunta de negócio: Quais países mais cresceram em população?
Técnica aplicada: CTE + cálculo percentual
WITH pop_base AS (
SELECT
country,
MAX(CASE WHEN ref_year = 2000 THEN tot_pop END) AS pop_2000,
MAX(CASE WHEN ref_year = 2023 THEN tot_pop END) AS pop_2023
FROM population
GROUP BY country
)
SELECT
country,
pop_2000,
pop_2023,
ROUND(((pop_2023 - pop_2000) * 100.0 / pop_2000), 2) AS growth_pct
FROM pop_base
ORDER BY growth_pct DESC
LIMIT 15;
Insight: Alguns países apresentam crescimento populacional acelerado, indicando mudanças demográficas relevantes.
7. Ranking por Região (Window Function)
Pergunta de negócio: Quais os países mais ricos dentro de cada região?
Técnica aplicada: ROW_NUMBER + PARTITION BY
WITH ranked_gdp AS (
SELECT
g.country,
c.wb_regions,
g.ref_year,
g.gdp_pc,
ROW_NUMBER() OVER (
PARTITION BY c.wb_regions
ORDER BY g.gdp_pc DESC
) AS rn
FROM gdp_pc g
JOIN country c
ON g.country = c.country
WHERE g.ref_year = 2023
)
SELECT *
FROM ranked_gdp
WHERE rn <= 3;
Insight: Permite identificar líderes econômicos dentro de cada região.
8. Anomalias na Série da Petrobras
Pergunta de negócio: Quando o preço ajustado difere do preço de fechamento?
Técnica aplicada: Filtro + métrica derivada
SELECT
Date,
Close,
"Adj Close",
ROUND(Close - "Adj Close", 4) AS diff
FROM petrobras
WHERE Close <> "Adj Close";
Insight: Diferenças indicam eventos como dividendos ou ajustes no ativo.
9. Média Móvel (Análise de Tendência)
Pergunta de negócio: Qual a tendência de preço ao longo do tempo?
Técnica aplicada: Window Function
SELECT
Date,
Close,
ROUND(AVG(Close) OVER (
ORDER BY Date
ROWS BETWEEN 29 PRECEDING AND CURRENT ROW
), 2) AS ma_30
FROM petrobras;
Insight: A média móvel suaviza variações e facilita leitura de tendência.
10. Volatilidade Diária
Pergunta de negócio: Quais dias tiveram maior variação de preço?
SELECT
Date,
High,
Low,
ROUND(High - Low, 4) AS volatility
FROM petrobras
ORDER BY volatility DESC
LIMIT 20;
Insight: Identificação de períodos de alta volatilidade no ativo.
Principais Insights Gerais
- Países de alta renda concentram maior PIB per capita e expectativa de vida
- Existe correlação entre renda e qualidade de vida, mas não absoluta
- Desigualdades sociais ainda são evidentes em mortalidade infantil e educação
- Dados financeiros permitem identificar padrões de mercado e eventos relevantes
Conclusão
Este portfólio demonstra a aplicação prática de SQL para análise de dados reais, com foco não apenas em consultas, mas na geração de insights relevantes para tomada de decisão.



