Dominar os fundamentos do SQL através de aulas práticas e desafios progressivos.
| # | Módulo | Descrição |
|---|---|---|
| 01 | Introdução | Render, PostgreSQL, Configuração do Ambiente |
| 02 | Fundamentos - SELECT | SELECT, FROM, ORDER BY, LIMIT |
| 03 | Filtros Avançados | WHERE, AND, OR, LIKE, IN, BETWEEN |
| 04 | Funções de String | CONCAT, UPPER, LOWER, TRIM, SUBSTRING |
| 05 | Funções de Data | DATE_PART, DATE_ADD, DATE_DIFF, DATE_FORMAT |
| 06 | Conversão de Dados | CAST, COALESCE |
| 07 | Condicionais | CASE WHEN, IF |
| 08 | Funções de Agregação | COUNT, SUM, AVG, MIN, MAX |
| 09 | Agrupamento | GROUP BY, HAVING |
| 10 | JOINs | INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN |
| 11 | Combinando Resultados | UNION, INTERSECT, EXCEPT |
| 12 | Subconsultas | Subqueries, EXISTS, IN |
| 13 | Window Functions | ROW_NUMBER, RANK, LAG, LEAD |
| 14 | CTEs | WITH, Common Table Expressions |
| 15 | Manipulação de Dados | CREATE, INSERT, UPDATE, DELETE, DROP |
O banco de dados de e-commerce utilizado nos exercícios contém as seguintes tabelas:
| Tabela | Descrição |
|---|---|
categorias |
Categorias de produtos |
produtos |
Catálogo de produtos |
clientes |
Dados dos clientes |
pedidos |
Pedidos realizados |
itens_pedido |
Itens de cada pedido |
pagamentos |
Pagamentos dos pedidos |
avaliacoes |
Avaliações de produtos |
erDiagram
CATEGORIAS ||--o{ PRODUTOS : possui
CLIENTES ||--o{ PEDIDOS : realiza
CLIENTES ||--o{ AVALIACOES : faz
PEDIDOS ||--o{ ITENS_PEDIDO : contem
PEDIDOS ||--o{ PAGAMENTOS : gera
PRODUTOS ||--o{ ITENS_PEDIDO : vendido_em
PRODUTOS ||--o{ AVALIACOES : recebe
CATEGORIAS {
int categoria_id PK
varchar nome
varchar descricao
boolean ativo
}
PRODUTOS {
int produto_id PK
int categoria_id FK
varchar nome
decimal preco
int estoque
varchar marca
boolean ativo
}
CLIENTES {
int cliente_id PK
varchar nome
varchar email
varchar cpf
varchar telefone
varchar cidade
varchar estado
boolean ativo
}
PEDIDOS {
int pedido_id PK
int cliente_id FK
date data_pedido
varchar status
decimal valor_total
decimal frete
decimal desconto
}
ITENS_PEDIDO {
int item_pedido_id PK
int pedido_id FK
int produto_id FK
int quantidade
decimal preco_unitario
}
PAGAMENTOS {
int pagamento_id PK
int pedido_id FK
varchar metodo
varchar status
decimal valor
}
AVALIACOES {
int avaliacao_id PK
int produto_id FK
int cliente_id FK
int nota
varchar comentario
}
- Execute o script do banco de dados no PostgreSQL
- Estude um módulo por vez, na ordem sugerida
- Leia a teoria antes de praticar
- Resolva os desafios de cada aula
- Complete o desafio final do módulo
- Avance para o próximo módulo
XX - Nome do Módulo/
├── doc_teorico.md # Material teórico com exemplos
├── desafio_final_respostas.sql # Gabarito do desafio final
└── desafios_aulas.sql # Gabarito dos desafios feito em aula
Pratique bastante e não tenha medo de errar. SQL é uma habilidade que se desenvolve com a prática!
Carlos Oliveira
