# Recomeçar
Autor: Felipe Oliveira Verissimo
Numero: 16
Turma: Info C
[toc]
# Modelagem 1: Tabela de filmes
> Create script
```sql=
create table tb_genero (
id_genero int primary key auto_increment,
ds_genero varchar(200),
bt_ativo bool
);
create table tb_netflix (
id_filme int primary key auto_increment,
nm_filme varchar(100),
id_genero int,
vl_avaliacao decimal(15,2),
bt_disponivel bool,
dt_lancamento date,
foreign key (id_genero) references tb_genero (id_genero)
);
```
> Insert script
```sql=
insert into tb_genero (ds_genero, bt_ativo)
values ("acao", true),
("acao suspense", true),
("terror", true);
insert into tb_netflix (nm_filme, id_genero, vl_avaliacao, bt_disponivel, dt_lancamento)
values ("Velozes e furiosos", 1, 6.8, true, "2001-6-22"),
("Mais Velozes Mais Furiosos", 1, 5.9, true, "2003-6-6"),
("Velozes e furiosos: Desafio em Tóquio", 1, 6, true, "2006-6-16"),
("Velozes e furiosos 4", 1, 6.6, true, "2009-4-3"),
("Velozes e furiosos 5: Operação Rio", 1, 7.7, true, "2011-5-6"),
("Velocidade furiosa 6", 1, 7, true, "2013-5-24"),
("Velozes e furiosos 7", 1, 7.1, true, "2015-4-3"),
("Velocidade furiosa 8", 1, 6.6, true, "2017-4-14"),
("Incontrolável", 2, 6.8, true, "2010-11-12"),
("Annabelle", 3, 6.4, true, "2014-10-3");
```
> ## Alterar 2 registros da tabela
> Update
```sql=
update tb_netflix set id_genero = 3 where id_filme = 1;
update tb_netflix set id_genero = 2 where id_filme = 3;
```
> ## Remover 2 registros da tabela
> Delete
```sql=
delete from tb_netflix where id_filme = 4;
delete from tb_netflix where id_filme = 5;
```
> ## Consultar todos os filmes com gênero igual a Ação
> Select script
```sql=
select n.nm_filme
from tb_netflix n
inner join tb_genero g
on n.id_genero = g.id_genero
where ds_genero = "acao";
```
> ## Consultar todos os filmes que possuam o nome e gênero contendo a letra a
> Select script
```sql=
select n.nm_filme
from tb_netflix n
inner join tb_genero g
on n.id_genero = g.id_genero
where nm_filme like "%a%"
and ds_genero like "%a%";
```
> ## Consultar todos os filmes que estejam disponíveis e com avaliação maior que 8
> Select script
```sql=
select nm_filme
from tb_netflix n
where vl_avaliacao >= 8;
```
> ## Consultar todos os filmes que foram lançados entre 2010 e 2020 com nome de filme menor que 10 caracteres
> Select script
```sql=
select nm_filme
from tb_netflix
where length (nm_filme) < 10
and dt_lancamento between "2010-01-01" and "2020-12-31";
```
> ## Selecionar o nome dos filmes cujo a data de lançamento for 2013
> Select script
```sql=
select nm_filme
from tb_netflix
where dt_lancamento like "%2013%";
```
> ## Selecionar o nome dos filmes cujo a data de lançamento for maior ou igual que 2013-1-1
> Select script
```sql=
select nm_filme
from tb_netflix
where dt_lancamento >= "2013-1-1";
```
> ## Selecionar o nome dos filmes cujo o gênero for terror
> Select script
```sql=
select n.nm_filme
from tb_netflix n
inner join tb_genero g
on n.id_genero = g.id_genero
where ds_genero = "terror";
```
> ## Selecionar o nome dos filmes cujo o gênero for ação suspense e a data de lançamento for maior ou igual que 2006-1-1
> Select script
```sql=
select n.nm_filme
from tb_netflix n
inner join tb_genero g
on n.id_genero = g.id_genero
where ds_genero = "acao suspense"
and dt_lancamento >= "2006-1-1";
```
> ## Selecionar o nome dos filmes cujo o gênero for ação e a avaliação for maior ou igual que 7.0
> Select script
```sql=
select n.nm_filme
from tb_netflix n
inner join tb_genero g
on n.id_genero = g.id_genero
where ds_genero = "acao"
and vl_avaliacao >= "7.0";
```
[toc]
# Modelagem 2: Tabela de 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(200),
nm_aluno varchar(255),
nr_chamada int,
tp_status varchar(100),
foreign key (id_turma) references tb_turma (id_turma)
);
```
> Insert script
```sql=
insert into tb_turma (nm_turma, nr_ano_letivo, nm_curso)
values ("info c", 2021, "informatica"),
("info d", 2021, "informatica"),
("indo a", 2021, "informatica");
insert into tb_aluno (id_turma, ds_sexo, nm_aluno, nr_chamada, tp_status)
values (1, "masculino", "Felipe Oliveira Verissimo", 16, "presente"),
(2, "masculino", "Guilherme Manso Vieira", 12, "presente"),
(2, "feminino", "Barbara Barbosa dos Santos", 1, "presente"),
(1, "masculino", "Erik de Almeida Benito", 14, "presente"),
(3, "feminino", "Caroline da Silva Pereira", 2, "presente"),
(1, "masculino", "Guilherme Oliveira Verissimo", 21, "presente"),
(1, "feminino", "Beatriz Gomes Feliciano", 6, "presente"),
(1, "masculino", "Eduardo Ferreira Dias", 10, "presente"),
(1, "masculino", "Luis Paulo de Oliveira", 33, "presente"),
(1, "feminino", "Mariana Sousa do Carmo", 37, "presente");
```
> ## Alterar 2 registros da tabela
> Update
```sql=
update tb_aluno set nr_chamada = 3 where id_aluno = 1;
update tb_aluno set nr_chamada = 2 where id_aluno = 6;
```
> ## Remover 2 registros da tabela
> Delete
```sql=
delete from tb_aluno where id_aluno = 4;
delete from tb_aluno where id_aluno = 5;
```
> ## Selecionar turma, nome e chamada da tabela alunos filtrando por turma
```sql=
select a.nm_aluno, a.nr_chamada, t.nm_turma
from tb_aluno a
inner join tb_turma t
on a.id_turma = t.id_turma
where nm_turma = "info c";
```
> ## Selecionar todos campos da tabela alunos filtrando por nome e turma de forma parcial
> Select script
```sql=
select * from tb_aluno a
inner join tb_turma t
on a.id_turma = t.id_turma
where nm_turma like "%info%"
and nm_aluno like "%ol%";
```
> ## Selecione ano letivo, turma, nome, chamada, sexo da tabela alunos filtrando os frequentes por turma e ano letivo.
> Select script
```sql=
select t.nr_ano_letivo, a.nm_aluno, t.nm_turma, a.nr_chamada, a.ds_sexo
from tb_aluno a
inner join tb_turma t
on a.id_turma = t.id_turma
where tp_status = "presente"
and t.nr_ano_letivo = "2021";
```
> ## Selecione nome, sexo da tabela alunos filtrando por ano, turma e sexo
```sql=
select a.nm_aluno, a.ds_sexo
from tb_aluno a
inner join tb_turma t
on a.id_turma = t.id_turma
where nm_turma = "info c"
and ds_sexo = "masculino";
```
> ## Selecionar o nome do aluno onde o numero da chamada é maior ou igual que doze
> Select script
```sql=
select nm_aluno
from tb_aluno
where nr_chamada >= "12";
```
> ## Selecionar o nome do aluno onde o sexo da pessoa for feminino
> > Select script
```sql=
select nm_aluno
from tb_aluno
where ds_sexo = "feminino";
```
> ## Selecionar o nome do aluno onde o numero da chamada for menor ou igual a doze e o sobrenome do aluno conter oliveira
> Select script
```sql=
select nm_aluno
from tb_aluno
where nr_chamada <= "12"
and nm_aluno like "%oliveira%";
```
> ## Selecionar o nome do aluno onde o sobrenome conter ol e o numero da chamada for maior ou igual que trinta
> Select script
```sql=
select nm_aluno
from tb_aluno
where nm_aluno like "%ol%"
and nr_chamada >= "30";
```
> ## Selecionar o nome do aluno onde o id da turma for um
> Select script
```sql=
select nm_aluno
from tb_aluno
where id_turma = "1"
```
{"metaMigratedAt":"2023-06-15T23:33:47.785Z","metaMigratedFrom":"Content","title":"Recomeçar","breaks":true,"contributors":"[{\"id\":\"6a057479-8a7c-401d-8967-32d1fedb4e2c\",\"add\":7397,\"del\":103}]"}