Introdução ao SQL(Structured
Query Language)
Componente: Estrutura e Qualidade dos Dados
Curso Técnico em Ciência de Dados – Escola do Futuro
2.
Objetivos da Aula
-Compreender o que é SQL e sua importância.
- Instalar o ambiente para execução de comandos SQL.
- Realizar operações básicas com comandos SQL (DML).
3.
O que éSQL?
- Linguagem padrão para manipulação de bancos de dados relacionais.
- Utilizada para consultar, inserir, atualizar e remover dados.
- Compatível com SGBDs como: MySQL, PostgreSQL, SQLite, Oracle.
4.
O que oSQL pode fazer?
- DDL: Definição de estruturas (ex.: CREATE TABLE)
- DML: Manipulação de dados (ex.: SELECT, INSERT)
- DCL: Controle de permissões (ex.: GRANT, REVOKE)
- TCL: Controle de transações (ex.: COMMIT, ROLLBACK)
5.
Por que aprenderSQL?
- Base essencial para qualquer trabalho com dados.
- Presente em análise de dados, BI, ciência de dados, ERP, sistemas.
- Permite integração com ferramentas como Python, Power BI, Excel.
6.
Instalando o AmbienteSQL
Opções recomendadas:
- DB Browser for SQLite – simples e leve
- MySQL + MySQL Workbench – mais completo
- Google Colab com SQLite – 100% online
7.
Primeiro Teste: CriandoBanco
1. Abrir o DB Browser ou Workbench
2. Criar banco de dados chamado: escola
3. Criar tabela:
CREATE TABLE aluno (
id INTEGER PRIMARY KEY,
nome TEXT NOT NULL,
idade INTEGER
);
Tipos de Dadosem SQL
- INT: números inteiros (ex.: 1, 100)
- VARCHAR(n): textos de até n caracteres
- DATE: datas (ex.: '2025-04-22')
- BOOLEAN: verdadeiro ou falso
14.
Cláusula WHERE (Avançado)
-BETWEEN: valores dentro de um intervalo
- IN: valores dentro de uma lista
- LIKE: busca por padrões
- IS NULL: verifica valores nulos
15.
Operadores Lógicos
- AND:ambas as condições verdadeiras
- OR: pelo menos uma condição verdadeira
- NOT: nega a condição
16.
Ordenação e Limitaçãode
Resultados
- ORDER BY: ordena os resultados
- LIMIT: limita o número de registros retornados
Exemplo:
SELECT * FROM aluno ORDER BY idade DESC LIMIT 5;
17.
Funções Agregadas
- COUNT():conta registros
- SUM(): soma valores
- AVG(): calcula média
- MIN(): menor valor
- MAX(): maior valor
18.
JOINs em SQL
-INNER JOIN: retorna registros com correspondência em ambas as tabelas
- LEFT JOIN: retorna todos os registros da tabela da esquerda, mesmo sem
correspondência
19.
Exemplo de JOIN(Aluno ↔
Curso ↔ Matrícula)
SELECT a.nome AS aluno, c.nome AS curso
FROM matricula m
JOIN aluno a ON m.id_aluno = a.id
JOIN curso c ON m.id_curso = c.id;
20.
Exercício 1
Liste osalunos com idade maior que 20.
Resposta:
SELECT nome FROM aluno WHERE idade > 20;
21.
Exercício 2
Liste osnomes dos alunos e o nome do curso em que estão matriculados.
Resposta:
SELECT a.nome AS aluno, c.nome AS curso
FROM matricula m
JOIN aluno a ON m.id_aluno = a.id
JOIN curso c ON m.id_curso = c.id;
22.
Exercício 3
Conte quantosalunos estão matriculados no curso 'SQL Básico'.
Resposta:
SELECT COUNT(*)
FROM matricula m
JOIN curso c ON m.id_curso = c.id
WHERE c.nome = 'SQL Básico';
23.
INT (Integer) –Tipo Numérico
- Armazena números inteiros (positivos ou negativos).
- Usado para valores como idade, quantidade, número de páginas.
- Exemplo prático na biblioteca:
qtdePaginas INT,
quantidade INT,
disponivel INT
- Benefícios: eficiente para cálculos, ocupa menos espaço que outros tipos
numéricos.
24.
VARCHAR(n) – Textode Tamanho
Variável
- Armazena cadeias de caracteres (textos).
- 'n' define o número máximo de caracteres.
- Usado para nomes, títulos, editoras, idiomas.
- Exemplo prático na biblioteca:
ISBN VARCHAR(50),
editora VARCHAR(50),
idioma VARCHAR(50)
- Benefícios: flexível para textos curtos a médios, economiza espaço
comparado ao TEXT.
25.
TEXT – TextoLongo
- Armazena textos extensos, sem limite pré-definido.
- Usado para campos como descrições, observações.
- Exemplo prático na biblioteca:
titulo TEXT,
autor TEXT
- Benefícios: ideal para textos maiores, mas ocupa mais espaço e tem
menos otimizações que VARCHAR.
26.
DATE e YEAR– Datas
- DATE armazena uma data completa (ano, mês, dia).
- YEAR armazena apenas o ano (4 dígitos).
- Exemplo prático na biblioteca:
anoPublicacao YEAR
- Benefícios: facilita operações com datas, como cálculos de idade ou filtros
por período.
27.
BOOLEAN – Verdadeiroou Falso
- Armazena dois valores possíveis: TRUE (1) ou FALSE (0).
- Usado para indicar status (ativo/inativo, disponível/indisponível).
- Exemplo prático:
ativo BOOLEAN
- Benefícios: ocupa pouco espaço e facilita lógicas simples.
28.
Exercício Maior: CRUDCompleto
(Comentado)
1. Criar tabela CLIENTES:
CREATE TABLE clientes (
id INT AUTO_INCREMENT PRIMARY KEY,
nome VARCHAR(100),
email VARCHAR(100),
data_nascimento DATE
);
2. Inserir clientes: