Thanks to visit codestin.com
Credit goes to pt.scribd.com

0% acharam este documento útil (0 voto)
15 visualizações17 páginas

Resumo SQL

O documento aborda a importância de aprender SQL, destacando sua ubiquidade em diversas áreas e sua essencialidade para trabalhar com dados. Ele apresenta comandos básicos como SELECT, JOIN, e GROUP BY, além de conceitos como índices, views, triggers e stored procedures, com exemplos práticos. O texto também enfatiza a importância de backups e sugere recursos para prática e aprimoramento das habilidades em SQL.

Enviado por

Dark Pandemic
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
15 visualizações17 páginas

Resumo SQL

O documento aborda a importância de aprender SQL, destacando sua ubiquidade em diversas áreas e sua essencialidade para trabalhar com dados. Ele apresenta comandos básicos como SELECT, JOIN, e GROUP BY, além de conceitos como índices, views, triggers e stored procedures, com exemplos práticos. O texto também enfatiza a importância de backups e sugere recursos para prática e aprimoramento das habilidades em SQL.

Enviado por

Dark Pandemic
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 17

SQL - STRUCTURED QUERY

LANGUAGE
Por que aprender SQL?
SQL é a ponte entre o dado bruto e a resposta que
as pessoas querem.

Motivos reais pra aprender:


-Está em TODO lugar: CRM, ERP, BI, suporte,
marketing, vendas...
-É essencial pra trabalhar com dados.
-SQL é usado tanto para análise quanto
automação.
Comandos Básicos (SELECT, FROM, WHERE)
SELECT nome, idade FROM alunos WHERE idade >= 18;

O que faz cada parte:


-SELECT : define o que você quer ver
-FROM : indica de qual tabela vem os dados
-WHERE : filtra os dados com base em alguma condição
🧠 Exemplo real:
-Filtrar alunos com idade ≥ 18
-Buscar contatos que marcaram “sim” no interesse do
projeto
EXPLICANDO:
LIKE % : representa qualquer sequência de caracteres
_ : representa apenas um caractere

SELECT * FROM alunos WHERE nome LIKE 'Ana%' 💡 PODE SER USADO PARA:
Buscar nomes, domínios de email, códigos,
padrões
Procurar por “%gmail.com” nos emails dos
contatos

🧠 EXEMPLO PRÁTICO:
SELECT * FROM contatos WHERE email LIKE '%@gmail.com';
ORDER BY
SELECT nome, nota FROM alunos ORDER BY nota DESC;

O que faz cada parte:


-Organiza os dados retornados
-Pode ordenar por uma ou mais colunas

Modificadores:
-ASC = crescente
-DESC = decrescente

🧠 Exemplo prático:
-Top 10 alunos com maiores notas
-Clientes que mais compraram, ordenado por valor
GROUP BY + HAVING
SELECT curso, COUNT(*) AS total FROM alunos GROUP BY curso HAVING COUNT(*) > 10;

Explicação:
-GROUP BY : agrupa linhas por uma ou mais colunas
-HAVING : filtra esses grupos (diferente de WHERE , que filtra linhas)

🧠 Exemplo prático:
-Contar alunos por escola
-Ver quais cursos têm mais de 10 inscritos
JOIN
SELECT a.nome, e.nome_escola FROM alunos a JOIN escolas e ON a.id_escola = e.id;

JOINs servem para juntar tabelas que se relacionam

Tipos comuns:
INNER JOIN : pega só os que batem nos dois lados
LEFT JOIN : pega tudo da esquerda e o que bate da direita
RIGHT JOIN : o inverso do
LEFT FULL JOIN : tudo de todos os lados (nem todo banco suporta)

Exemplo prático:
Relacionar alunos com suas escolas
Relacionar vendas com dados do cliente (nome, email, cidade)
Índices
CREATE INDEX idx_nome ON alunos(nome);

O que é:
Índice é como um "atalho" para o banco encontrar dados
rapidamente
É como o índice de um livro: você acha mais rápido, mas precisa
atualizar se algo mudar

🧠 Usos comuns:
Colunas de WHERE , JOIN , ORDER BY

⚠️ Cuidado:
Índices aceleram leitura, mas deixam a
escrita (INSERT/UPDATE) mais lenta
Indexar tudo = bomba de performance �
Views
CREATE VIEW vw_ativos AS SELECT * FROM alunos WHERE status = 'ativo';

O que é uma View:


Uma "tabela virtual", baseada numa query
Parece uma tabela, mas na real é só uma consulta pré-definida
Vantagens:
Reutilização de lógica
Facilita acesso a consultas complexas
Ajuda no controle de acesso
📢 RBAC – Role-Based Access Control
RBAC é o controle de acesso baseado em papéis: usuários só
acessam o que precisam com base no cargo.
🧠 Exemplo prático com Views + RBAC:
Cria uma view que mostra só dados da escola X
Permite que um coordenador só veja os alunos da escola dele
Triggers
CREATE TRIGGER atualiza_data BEFORE UPDATE ON alunos FOR EACH ROW
SET NEW.data_atualizacao = NOW();

O que é:

Um código que roda automaticamente quando algo acontece

Quando usar:
Atualizar campos automaticamente (ex: data de atualização)
Enviar notificação, fazer log, validar info

🧠 Exemplo prático:
Atualizar data_modificacao toda vez que alguém
alterar o status do aluno
Stored Procedures
CREATE PROCEDURE listarAtivos() BEGIN SELECT * FROM alunos WHERE
status = 'ativo'; END;

O que é:

Um "pacote de SQL" reutilizável


Ajuda a organizar lógica complexa e evitar repetição

🧠 Exemplo prático:
Uma procedure para gerar relatório de alunos ativos por escola
Procedure para limpar duplicados com lógica customizada
Backup
💾 Manter backup = evitar choro
MySQL:
mysqldump -u user -p banco > backup.sql

PostgreSQL:
pg_dump -U user banco > backup.sql

💡Dicas:
Sempre agende backups automáticos
(cron job, GCP, etc.)
Teste a restauração!
Mantenha backups em outro servidor
Tabela Resumo
Encerramento + Dicas
Treine com dados reais (ou simulados, com base
em ferramentas reais)

Use sites como:

https://sqlzoo.net/
https://sqlfiddle.com/

Quer ficar ninja? Aprende a ler EXPLAIN pra


entender como o banco executa suas queries
OBRIGADO

Você também pode gostar