# Session One: Recomeçar - Parte 2
Autor: Jonathan Fernando Costa Galo
[//]:# "Professor, alguns códigos no modo de exibição estão bugados"
[toc]
# Exercícios Práticos - Modelagens no DB Fiddle
>Criação da Tabela de Alunos
```sql=
CREATE TABLE TB_TURMA(
ID_TURMA INT PRIMARY KEY AUTO_INCREMENT,
NM_TURMA VARCHAR(255),
NR_ANO_LETIVO INT,
NM_CURSO VARCHAR(255)
);
CREATE TABLE TB_ALUNO(
ID_ALUNO INT PRIMARY KEY AUTO_INCREMENT,
ID_TURMA INT,
DS_SEXO VARCHAR(20),
NM_ALUNO VARCHAR(255),
NR_CHAMADA INT,
TP_STATUS VARCHAR(1),
FOREIGN KEY (ID_TURMA) REFERENCES TB_TURMA (ID_TURMA)
);
```
>Inserir 10 registros na Tabela
```sql=
Insert into TB_TURMA (NM_TURMA, NR_ANO_LETIVO, NM_CURSO)
Values ('Turma Corre Cutia', 3, 'Artes'),
('Turma Avengers', 5, 'Mecanica I'),
('Turma Minecraft', 6, 'Design I'),
('Turma Jogadores de LOL', 8, 'Design de Jogos I');
Insert into TB_ALUNO (ID_TURMA, DS_SEXO, NM_ALUNO, NR_CHAMADA, TP_STATUS)
Values (3, 'Masculino', 'Jeferson da Silva', 21, 'F'),
(2, 'Feminino', 'Mariana do Carmo', 32, 'F'),
(4, 'Feminino', 'Maria Eduarda Fernandez', 28, 'A'),
(3, 'Masculino', 'Pedro Andrade Bittencourt', 18, 'F'),
(1, 'Masculino', 'Fernando de Almeida', 12, 'A'),
(2, 'Feminino', 'Giovana Santana de Pires', 22, 'F');
```
>Códigos para alterar 2 registros da Tabela (UPDATE)
```sql=
UPDATE TB_ALUNO
SET TP_STATUS = 'A'
WHERE ID_TURMA = 1;
UPDATE TB_TURMA
SET NM_CURSO = 'Educação Fisica'
WHERE ID_TURMA = 1;
```
>Códigos para deletar 2 registros da Tabela (DELETE)
```sql=
DELETE FROM TB_ALUNO
WHERE ID_ALUNO = 3;
DELETE FROM TB_ALUNO
WHERE ID_ALUNO = 5;
```
>Códigos para selecionar turma, nome e chamada da tabela alunos filtrando por turma
```sql=
SELECT T.NM_TURMA,
T.NM_CURSO,
A.DS_SEXO,
A.NM_ALUNO,
A.NR_CHAMADA,
A.TP_STATUS
FROM TB_ALUNO A
INNER JOIN TB_TURMA T
ON A.ID_TURMA = T.ID_TURMA
WHERE T.NM_TURMA = 'Turma Avengers'
```
>Códigos para selecionar todos campos da tabela alunos filtrando por nome e turma de forma parcial
```sql=
SELECT A.DS_SEXO,
A.NM_ALUNO,
A.NR_CHAMADA,
A.TP_STATUS
FROM TB_ALUNO A
INNER JOIN TB_TURMA T
ON A.ID_TURMA = T.ID_TURMA
WHERE T.NM_TURMA = 'Turma Avengers'
AND A.NM_ALUNO = 'Mariana do Carmo'
```
>Códigos para selecionar ano letivo, turma, nome, chamada, sexo da tabela alunos filtrando os
frequentes por turma e ano letivo
```sql=
SELECT T.NM_TURMA,
T.NM_CURSO,
A.DS_SEXO,
A.NM_ALUNO,
A.NR_CHAMADA,
A.TP_STATUS,
T.NR_ANO_LETIVO
FROM TB_ALUNO A
INNER JOIN TB_TURMA T
ON A.ID_TURMA = T.ID_TURMA
WHERE A.TP_STATUS = 'F'
AND T.NM_TURMA = 'Turma Avengers'
AND T.NR_ANO_LETIVO = '5'
```
>Códigos para selecionar nome, sexo da tabela alunos filtrando por ano, turma e sexo.
```sql=
SELECT A.DS_SEXO,
A.NM_ALUNO
FROM TB_ALUNO A
INNER JOIN TB_TURMA T
WHERE T.NR_ANO_LETIVO = 8
AND T.NM_TURMA = 'Turma Jogadores de LOL'
AND A.DS_SEXO = 'Feminino'
```
>Códigos para criar mais 5 consultas personalizadas conforme sua vontade que explore filtros como:, >=, <, <=, =, <>, LIKE, IN, BETWEEN, Funções de Texto/Número/Data
>>Consulta 1
```sql=
SELECT T.NM_TURMA,
T.NM_CURSO,
A.DS_SEXO,
A.NM_ALUNO,
A.NR_CHAMADA,
A.TP_STATUS
FROM TB_ALUNO A
INNER JOIN TB_TURMA T
ON A.ID_TURMA = T.ID_TURMA
WHERE NR_ANO_LETIVO >= 5
```
>>Consulta 2
```sql=
SELECT T.NM_TURMA,
T.NM_CURSO,
A.DS_SEXO,
A.NM_ALUNO,
A.NR_CHAMADA,
A.TP_STATUS
FROM TB_ALUNO A
INNER JOIN TB_TURMA T
ON A.ID_TURMA = T.ID_TURMA
WHERE A.TP_STATUS = 'F'
```
>>Consulta 3
```sql=
SELECT T.NM_TURMA,
T.NM_CURSO,
A.DS_SEXO,
A.NM_ALUNO,
A.NR_CHAMADA,
A.TP_STATUS
FROM TB_ALUNO A
INNER JOIN TB_TURMA T
ON A.ID_TURMA = T.ID_TURMA
WHERE A.DS_SEXO = 'Feminino'
```
>>Consulta 4
```sql=
SELECT T.NM_TURMA,
T.NM_CURSO,
A.DS_SEXO,
A.NM_ALUNO,
A.NR_CHAMADA,
A.TP_STATUS
FROM TB_ALUNO A
INNER JOIN TB_TURMA T
ON A.ID_TURMA = T.ID_TURMA
WHERE A.NM_ALUNO LIKE '%A%'
```
>>Consulta 5
```sql=
SELECT T.NM_TURMA,
T.NM_CURSO,
A.DS_SEXO,
A.NM_ALUNO,
A.NR_CHAMADA,
A.TP_STATUS
FROM TB_ALUNO A
INNER JOIN TB_TURMA T
ON A.ID_TURMA = T.ID_TURMA
WHERE A.NR_CHAMADA BETWEEN 21 AND 28
```