---
# System prepended metadata

title: 'Session One: Recomeçar | Banco de Dados'

---

# Session One: Recomeçar | Banco de Dados
autor: Alan Oliveira Rocha Santiago
turma: InfoB
número: 02

[toc]

## Tabela Filme
### *script*
```sql=
create table tb_genero (
 id_genero       int primary key auto_increment,
 ds_genero       varchar(200),
 bt_ativo        bool
);

create table tb_filme (
  id_filme           int primary key auto_increment,
  nm_filme           varchar(200),
  id_genero          int,
  vl_avaliacao       decimal(15,2),
  bt_disponivel      bool,
  dt_lancamento      date,
  
  foreign key(id_genero) references tb_genero (id_genero)
);

insert into tb_genero(ds_genero,bt_ativo)
values ('comedia',true),
       ('terror',true),
       ('ação',true),
       ('aventura',true),
       ('romance',true),
       ('drama',true),
       ('suspense',true),
       ('fantasia',true),
       ('ficção cientifica',true),
       ('infantil',true);
       


insert into tb_filme(nm_filme,id_genero,vl_avaliacao,bt_disponivel,dt_lancamento)
values ('Vingadores ultimato', 3, 10.0, true, '2019-04-25'),
       ('Debi e loide 2', 1, 8.5, true, '2014-11-13'),
       ('Barraca do beijo 2', 5, 8.0, true, '2020-07-24'),
       ('O resgate', 3, 10.0, true, '2020-04-24'),
       ('Coringa', 6, 9.5, true, '2019-10-03'),
       ('O protetor 2', 3, 9.0, true, '2018-08-16'),
       ('Toy story 4', 10, 8.0, true, '2019-06-20'),
       ('It a coisa', 2, 10.0, true, '2017-09-07'),
       ('Minha mãe é uma peça 2', 1, 9.5, true, '2016-12-06'),
       ('Divertida Mente', 10, 8.0, true, '2015-06-19');
       
       
          
       update tb_filme
       set vl_avaliacao = 7.5
       where id_filme = '7';
       
       update tb_filme
       set bt_disponivel = false
       where id_filme = '1';
       
       delete from tb_filme
       where id_filme = '3';


       
        delete from tb_filme
        where id_filme = '10';
```
### *select*
```sql=
select F.id_filme,
  G.ds_genero,
  F.id_filme,
  F.nm_filme,
  F.vl_avaliacao,
  F.bt_disponivel,
  F.dt_lancamento
  
from tb_filme F
inner join tb_genero G
on F.id_genero = G.id_genero
where G.ds_genero = 'ação';


select *
from tb_filme F
inner join tb_genero G
on F.id_genero = G.id_genero
where nm_filme like '%a%'
and ds_genero like '%a%';


select * 
from tb_filme F
inner join tb_genero G
on F.id_genero = G.id_genero
where F.bt_disponivel = true 
and F.vl_avaliacao > 8;

select * 
from tb_filme F
inner join tb_genero G
on F.id_genero = G.id_genero
where 	F.dt_lancamento between '2010-01-01' and '2020-01-01'
AND F.nm_filme Not LIKE '__________%';


select * 
from tb_filme F
inner join tb_genero G
on F.id_genero = G.id_genero
where F.vl_avaliacao >= 9.5;



select * 
from tb_filme F
inner join tb_genero G
on F.id_genero = G.id_genero
where F.nm_filme like '%a'
order by F.dt_lancamento;


select * 
from tb_filme F
inner join tb_genero G
on F.id_genero = G.id_genero
where F.dt_lancamento between '2018-07-01' and '2020-10-15';


select * 
from tb_filme F
inner join tb_genero G
on F.id_genero = G.id_genero
where G.ds_genero = 'comedia'
and F.dt_lancamento > '2014-08-26';




select * 
from tb_filme F
inner join tb_genero G
on F.id_genero = G.id_genero
where F.nm_filme like '%2'
and F.vl_avaliacao >= 9.0;
```
## Tabela Aluno
### *script*
```sql=
create table tb_turma (
 id_turma        int primary key auto_increment,
 nm_turma        varchar(100),
 nr_ano_letivo   int,
 nm_curso        varchar(100)
);


create table tb_aluno (
 id_aluno      int primary key auto_increment,
 id_turma      int,
 ds_sexo       varchar(100),
 nm_aluno      varchar(100),
 nr_chamada    int,
 tp_status     varchar(100),
 
  foreign key (id_turma) references tb_turma (id_turma)
 );
 
 
 insert into  tb_turma (nm_turma, nr_ano_letivo, nm_curso)
 values ("infoA", 2021, "informatica"),
        ("infoB", 2021, "informatica"),
        ("ingA", 2021, "ingles"),
        ("ingB", 2021, "ingles"),
        ("admA", 2021, "administração"),
        ("admB", 2021, "administração"),
        ("mecA", 2021, "Mecânica"),
        ("mecB", 2021, "Mecânica"),
        ("engA", 2021, "Engenharia"),
        ("engB", 2021, "Engenharia");

insert into tb_aluno (id_turma, ds_sexo, nm_aluno, nr_chamada, tp_status)
    values(4, "M", "Jair Nilson da Silva", 20, "Frequente"),
          (2, "F", "Maria da Silva Siqueira", 30, "Frequente"),
          (6, "M", "João Galileu gomes", 22, "Frequente"),
          (1, "M", "Francisco Costa Rocha", 13, "Frequente"),
          (5, "F", "Marcia Batista Rocha", 28, "Frequente"),
          (3, "F", "Helena Lopes Teicheira", 18, "Frequente"),
          (10, "F", "Larissa Gomes Nicolau", 25, "Frequente"),
          (7, "M", "Marcos Junior Messias", 29, "Frequente"),
          (9, "M", "Miltom Elias Moreira", 31, "Frequente"),
          (8, "F", "Camile Souza Pereira", 6, "Frequente");
          
          
update tb_aluno
set  id_turma = 6
where id_aluno = 10;

update tb_aluno
set nr_chamada = 3
where id_aluno = 3;


delete from tb_aluno
where id_aluno = 6;

delete from tb_aluno
where id_aluno = 9;
```
### *select*
```sql=
select T.id_turma,
A .nm_aluno,
 A .nr_chamada
from tb_aluno   A
inner join tb_turma  T
on A .id_turma = T .id_turma;

select A.id_aluno,
       A.id_turma,
       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 = 'Francisco Costa Rocha';


select A.id_aluno,
       A.id_turma,
       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.id_turma = '2';





select T.nm_turma,
       T.nr_ano_letivo,
       A.ds_sexo,
       A.nm_aluno,
       A.nr_chamada
from tb_aluno   A
inner join tb_turma T
on A.id_turma = T.id_turma
where T.nm_turma = 'InfoB'
and T.nr_ano_letivo = 2021;



select A.nm_aluno,
       A.ds_sexo
from tb_aluno A
inner join tb_turma T
on A.id_turma = T.id_turma
where T.nr_ano_letivo = 2021
and T.nm_turma = 'mecA'
and A.ds_sexo= 'M';


select * from tb_aluno A
inner join tb_turma T
on A.id_turma = T.id_turma
where A.nm_aluno like '%A';

select * from tb_aluno A
inner join tb_turma T
on A.id_turma = T.id_turma
where nm_curso like 'i%';

select * from tb_aluno A
inner join tb_turma T
on A.id_turma = T.id_turma
where ds_sexo = 'M';


select * from tb_aluno A
inner join tb_turma T
on A.id_turma = T.id_turma
where ds_sexo = 'F';


select * from tb_aluno A
inner join tb_turma T
on A.id_turma = T.id_turma
where nr_chamada >= 20;
```