# Session One Banco de Dados: Recomeçar
**Autor**: Elias de Freitas Cavalcante
**Número**: 12
**Turma**: INFO C
## Tabela Netflix
> Create script
```sql=
CREATE TABLE tb_genero(
id_genero int primary key auto_increment,
ds_genero varchar(255),
bt_ativo bool
);
CREATE TABLE tb_netflix (
id_filme int primary key auto_increment,
nm_filme varchar(255),
id_genero int,
vl_avaliacao decimal(15,1),
bt_disponivel bool,
dt_lancamento date,
foreign key (id_genero) references tb_genero (id_genero)
);
```
## Inserir 10 registros na tabela.
```sql=
INSERT INTO tb_genero (ds_genero, bt_ativo)
VALUES ('Ação', true),
('comédia', true),
('drama', true),
( 'Suspense',false),
( 'Terror', true),
('Ficção', true),
( 'Aventura', true),
('comédia romantica',true),
('Ficção cientifica', true),
('Histórico', false);
INSERT INTO tb_netflix (nm_filme, id_genero, vl_avaliacao, bt_disponivel, dt_lancamento)
VALUES ('Velozes e furiosos 6', 1, 9.5, true, '2016-03-24'),
('RED', 1, 8.7, true, '2016-03-24'),
('Gente Grande 2', 2, 10.0, true, '2013-8-16'),
('Radioactive', 3, 10.0, true, '2020-03-01'),
('Era uma vez um sonho', 3, 9.5, true, '2020-09-12'),
('Relatos do Mundo', 3, 8.5, true, '2020-01-21'),
('Sete homens e um destino', 1, 4.2, true, '2016-09-22'),
('No limite do amanhã', 1, 4.4, false, '2014-05-29'),
('Assassins Creed', 1, 3.7, true, '2017-01-12'),
('Amor e Monstros', 2, 3.5, true, '2020-08-16');
```
### Consultar todos os filmes com gênero igual a ‘Ação’.
```sql=
SELECT*FROM tb_netflix N
INNER JOIN tb_genero A
ON N.id_genero = A.id_genero
WHERE A.ds_genero = 'Ação';
```
### Consultar todos os filmes que possuam o nome e gênero contendo a letra ‘a’.
```sql=
SELECT*FROM tb_netflix N
INNER JOIN tb_genero A
ON N.id_genero = A.id_genero
WHERE A.ds_genero LIKE '%a%'
AND N.nm_filme LIKE '%a%';
```
### Consultar todos os filmes que estejam disponíveis e com avaliação maior que 8.
```sql=
SELECT*FROM tb_netflix N
INNER JOIN tb_genero A
ON N.id_genero = A.id_genero
WHERE N.bt_disponivel = true
AND N.vl_avaliacao > 8;
```
### Consultar todos os filmes que foram lançados entre 2010 e 2020 com nome de filme menor que 10 caracteres.
```sql=
SELECT*FROM tb_netflix N
INNER JOIN tb_genero A
ON N.id_genero = A.id_genero
WHERE N.dt_lancamento BETWEEN '2010-01-01' AND '2020-01-01'
AND N.nm_filme < 10;
```
### Remover 2 registros da tabela.
```sql=
DELETE FROM tb_netflix
WHERE nm_filme = 'Ação';
```
```sql=
DELETE FROM tb_netflix
WHERE id_filme = 3;
```
### Alterar 2 registros da tabela.
```sql=
UPDATE tb_netflix
SET nm_filme ='TOP'
WHERE id_filme = 2;
```
```sql=
UPDATE tb_netflix
SET vl_avaliacao = 1.0
WHERE id_filme = 1;
```
## Consultas personalizadas
### 1
```sql=
SELECT*FROM tb_netflix N
INNER JOIN tb_genero A
ON N.id_genero = A.id_genero
WHERE N.vl_avaliacao >= 9.5;
```
### 2
```sql=
SELECT*FROM tb_netflix N
INNER JOIN tb_genero A
ON N.id_genero = A.id_genero
WHERE N.nm_filme LIKE 'V%';
```
### 3
```sql=
SELECT*FROM tb_netflix N
INNER JOIN tb_genero A
ON N.id_genero = A.id_genero
WHERE N.dt_lancamento >= '2019-01-01';
```
### 4
```sql=
SELECT*FROM tb_netflix N
INNER JOIN tb_genero A
ON N.id_genero = A.id_genero
WHERE N.vl_avaliacao > 1.0
AND A.ds_genero = 'comédia';
```
### 5
```sql=
SELECT*FROM tb_netflix N
INNER JOIN tb_genero A
ON N.id_genero = A.id_genero
WHERE A.bt_ativo = '1';
```
## Tabela Alunos
> Create script
```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(255),
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( '9 ano C', 2020, 'Informática'),
( '1 serie C', 2021, 'Eletrotecinica'),
( '8 ano B', 2018, 'Administração'),
( '7 ano C', 2017, 'Ingles'),
( '2 serie A', 2018, 'Emprendedorimo'),
( '9 ano C', 2021, 'Direito'),
( '3 serie A', 2017, 'Psicologia'),
( '1 ano B', 2020, 'Desenho'),
( '2 ano B', 2016, 'Designer Visual'),
( '5 ano F', 2016, 'Musica');
INSERT INTO tb_aluno(id_turma, ds_sexo, nm_aluno, nr_chamada, tp_status)
VALUES( 1, 'Masculino', 'Roberto da Silva', 26, 'F'),
( 1, 'Feminino', 'Renata Albarrinho', 27, 'A'),
( 3, 'Masculino', 'Fernando de Noronha', 11, 'F'),
( 4, 'Feminino', 'Rayssa Mendes', 25, 'F'),
( 5, 'Masculino', 'Juan Silva', 13, 'A'),
( 6, 'Masculino', 'Fábio Teixela', 8, 'F'),
( 7, 'Masculino', 'Marcelo Freitas', 22, 'A'),
( 8, 'Feminino', 'Bruna Carvalho', 3, 'F'),
( 9, 'Feminino', 'Marcela Ribeiro', 21, 'A'),
( 10,'Masculino', 'Alexandre dos Santos', 1, 'F');
```
## Alterar 2 registros da tabela.
```sql=
UPDATE tb_aluno
SET nm_aluno ='Elias Cavalcante'
WHERE id_aluno = 1;
```
```sql=
UPDATE tb_aluno
SET tp_status ='A'
WHERE id_aluno = 3;
```
## Remover 2 registros da tabela.
```sql=
DELETE FROM tb_aluno
WHERE id_aluno = 2;
```
```sql=
DELETE FROM tb_aluno
WHERE nm_aluno = 'Fernando de Noronha';
```
### Selecionar turma, nome e chamada da tabela alunos filtrando por turma.
```sql=
SELECT T.nm_turma,
A.nm_aluno,
A.nr_chamada
FROM tb_turma T
INNER JOIN tb_aluno A
ON A.id_turma = T.id_turma
WHERE T.nm_turma ='9 ano C';
```
### Selecionar todos campos da tabela alunos filtrando por nome e turma de forma parcial.
```sql=
SELECT*
FROM tb_turma T
INNER JOIN tb_aluno A
ON A.id_turma = T.id_turma
WHERE T.nm_turma LIKE '%9%'
AND A.nm_aluno LIKE '%R%';
```
### Selecione ano letivo, turma, nome, chamada, sexo da tabela alunos filtrando os frequentes por turma e ano letivo.
```sql=
SELECT T.nr_ano_letivo,
T.nm_turma,
A.nm_aluno,
A.nr_chamada,
A.ds_sexo
FROM tb_turma T
INNER JOIN tb_aluno A
ON A.id_turma = T.id_turma
WHERE A.tp_status = 'F';
```
### Selecione nome, sexo da tabela alunos filtrando por ano, turma e sexo.
```sql=
SELECT A.nm_aluno,
A.ds_sexo
FROM tb_turma T
INNER JOIN tb_aluno A
ON A.id_turma = T.id_turma
WHERE T.nr_ano_letivo = 9
AND T.nm_turma = '9 ano C'
AND A.ds_sexo = 'Masculino';
```
## Consultas Personalizadas.
### 1
```sql=
SELECT*FROM tb_turma T
INNER JOIN tb_aluno A
ON A.id_turma = T.id_turma
WHERE A.nr_chamada > 25;
```
### 2
```sql=
SELECT*FROM tb_turma T
INNER JOIN tb_aluno A
ON A.id_turma = T.id_turma
WHERE A.nm_aluno LIKE 'R%'
OR A.nm_aluno LIKE 'F%';
```
### 3
```sql=
SELECT*FROM tb_turma T
INNER JOIN tb_aluno A
ON A.id_turma = T.id_turma
WHERE A.tp_status = 'A';
```
### 4
```sql=
SELECT*FROM tb_turma T
INNER JOIN tb_aluno A
ON A.id_turma = T.id_turma
WHERE A.nr_chamada >= 11;
```
### 5
```sql=
SELECT*FROM tb_turma T
INNER JOIN tb_aluno A
ON A.id_turma = T.id_turma
WHERE T.nm_curso LIKE 'I%';
```
{"metaMigratedAt":"2023-06-15T23:12:07.707Z","metaMigratedFrom":"Content","title":"Session One Banco de Dados: Recomeçar","breaks":true,"contributors":"[{\"id\":\"330b3204-61c5-4231-8ab3-e59d5589a829\",\"add\":8733,\"del\":1332}]"}