Autor: Raul Brito da Silva Turma: informática A (manhã) Número: 40 create table tb_filme ( id_filme int primary key auto_increment, nm_filme varchar(255), dt_lancamento date, vl_avaliacao decimal(15,2), bt_disponivel bool ); create table tb_genero ( id_genero int primary key auto_increment, ds_genero varchar(255), bt_ativo bool ); create table tb_filme_genero ( id_filme_genero int primary key auto_increment, id_filme int, id_genero int, foreign key (id_filme) references tb_filme(id_filme)on delete cascade, foreign key (id_genero) references tb_genero(id_genero)on delete cascade ); insert into tb_filme(nm_filme,dt_lancamento,vl_avaliacao,bt_disponivel) values ("Vingadores:Ultimato","2014-06-05",7.9,true), ("Don't Breathe ","2016-09-08",6.4,false), ("O Diário da Princesa","2001-01-18",9.1,true), ("Invocação do Mal 2","2016-06-09",4.1,true), ("A Maldição da Chorona","2019-04-18",8.9,true); insert into tb_genero(ds_genero,bt_ativo) values("ação",true), ("aventura",true), ("comedia",true), ("terror",true), ("romance",true); insert into tb_filme_genero(id_filme,id_genero) values(1,5), (1,3), (5,4), (2,5), (3,4), (4,1), (3,2), (4,2), (2,2), (5,3); update tb_filme set nm_filme ='The old Guard' where id_filme = 2; update tb_genero set ds_genero='ação' where id_genero = 2; update tb_filme_genero set id_filme = 2 where id_filme_genero = 2; delete from tb_filme_genero where id_filme_genero=2; delete from tb_genero where id_genero=2; delete from tb_filme where id_filme=2; Questão 1 select f.nm_filme,g.ds_genero from tb_filme_genero fg inner join tb_genero g on fg.id_genero=g.id_genero inner join tb_filme f on fg.id_filme=f.id_filme order by f.nm_filme; Questão 2 select f.id_filme, f.nm_filme, g.id_genero,g.ds_genero from tb_filme_genero fg inner join tb_filme f on fg.id_filme=f.id_filme inner join tb_genero g on fg.id_genero=g.id_genero where f.vl_avaliacao > 4 order by f.nm_filme; Questão 3 select f.nm_filme, f.vl_avaliacao,f.dt_lancamento from tb_filme_genero fg inner join tb_filme f on fg.id_filme=f.id_filme inner join tb_genero g on fg.id_genero=g.id_genero where g.ds_genero='ação' order by f.vl_avaliacao; Questão 4 Considerei aqui apenas 1 genero*/ select f.nm_filme, f.vl_avaliacao, f.dt_lancamento, f.bt_disponivel,g.ds_genero from tb_filme_genero fg inner join tb_filme f on fg.id_filme=f.id_filme inner join tb_genero g on fg.id_genero=g.id_genero where g.ds_genero= 'terror' or g.ds_genero='ação'; Questão 5 select f.nm_filme, f.vl_avaliacao, f.dt_lancamento, f.bt_disponivel,g.ds_genero from tb_filme_genero fg inner join tb_filme f on fg.id_filme=f.id_filme inner join tb_genero g on fg.id_genero=g.id_genero where f.bt_disponivel=true and g.ds_genero='terror'; Questão 6 select g.ds_genero,f.nm_filme from tb_filme_genero fg inner join tb_filme f on fg.id_filme=f.id_filme inner join tb_genero g on fg.id_genero=g.id_genero where length(f.nm_filme) > 16; Questão 7 select f.nm_filme from tb_filme_genero fg inner join tb_filme f on fg.id_filme=f.id_filme inner join tb_genero g on fg.id_genero=g.id_genero where f.nm_filme not like 'e%'; Questão 8 select f.nm_filme from tb_filme_genero fg inner join tb_filme f on fg.id_filme=f.id_filme inner join tb_genero g on fg.id_genero=g.id_genero where day(f.dt_lancamento) > month(f.dt_lancamento); Questão 9 select f.nm_filme from tb_filme_genero fg inner join tb_filme f on fg.id_filme=f.id_filme inner join tb_genero g on fg.id_genero=g.id_genero where month(f.dt_lancamento) in(02,03,04) and f.bt_disponivel =false; Questão 10 select f.nm_filme,g.ds_genero from tb_filme_genero fg inner join tb_filme f on fg.id_filme=f.id_filme inner join tb_genero g on fg.id_genero=g.id_genero where (f.vl_avaliacao)/2 > 3; Parte 2 create table tb_aluno( id_aluno int primary key auto_increment, nm_turma varchar(255), nr_ano_letivo int, nm_aluno varchar(200), nr_chamada int, ds_sexo varchar(20), tp_status varchar(1) ); create table tb_disciplina( id_disciplina int primary key auto_increment, nm_disciplina varchar(255), nm_professor varchar(255) ); create table tb_boletim ( id_boletim int primary key auto_increment, id_aluno int, id_disciplina int, vl_nota decimal(15,2), qtd_faltas int, foreign key (id_aluno) references tb_aluno(id_aluno)on delete cascade, foreign key (id_disciplina) references tb_disciplina(id_disciplina)on delete cascade ); insert into tb_aluno(nm_turma,nr_ano_letivo,nm_aluno,nr_chamada,ds_sexo,tp_status) values("A",2021,"Gabrielly Gonsalves Santos",10,"feminino","s"), ("B",2019,"Raul Brito da Silva ",40,"Masculino","F"), ("C",2015,"Maria Eduarda Lima Santos ",24,"feminino","F"); insert into tb_disciplina(nm_disciplina,nm_professor) values("matematica","Pedro"), ("português","Cicera"), ("Biologia","Soraya"), ("Historia","Thiago"), ("Inglês","Simoneto"); insert into tb_boletim(id_aluno,id_disciplina,vl_nota,qtd_faltas) values(1,1,9.5,0), (1,2,7.5,1), (1,3,3,0), (1,4,6.5,2), (1,5,9,0), (2,1,4.5,1), (2,2,7,3), (2,3,3.5,4), (2,4,5,7), (2,5,7,0), (3,1,5,2), (3,2,8,0), (3,3,2.5,0), (3,4,7,3), (3,5,7,0); update tb_aluno set nm_aluno='Marcos santos' where id_aluno=3; update tb_disciplina set nm_disciplina= "Geografia" where nm_professor="Ricardo"; update tb_boletim set vl_nota =9 where id_boletim=4; update tb_boletim set vl_nota =7.5 where id_boletim=7; delete from tb_boletim where id_disciplina=2; delete from tb_disciplina where nm_disciplina ="biologia"; delete from tb_aluno where nm_aluno="Gabrielly Gonsalves Santos"; Questão 1 select a.nm_aluno, a.nm_turma, d.nm_disciplina, b.vl_nota from tb_boletim b inner join tb_aluno a on b.id_aluno=a.id_aluno inner join tb_disciplina d on b.id_disciplina = d.id_disciplina order by a.nm_aluno; Questão 2 select a.nm_aluno, a.nm_turma, d.nm_disciplina, b.vl_nota from tb_boletim b inner join tb_aluno a on b.id_aluno=a.id_aluno inner join tb_disciplina d on b.id_disciplina = d.id_disciplina where a.nm_turma ="A" and a.nr_ano_letivo = 2021 order by b.vl_nota desc; Questão 3 select a.nm_aluno, a.nm_turma, d.nm_disciplina, b.vl_nota from tb_boletim b inner join tb_aluno a on b.id_aluno=a.id_aluno inner join tb_disciplina d on b.id_disciplina = d.id_disciplina where b.vl_nota >= 5 and a.nm_aluno="Raul Brito da Silva" and a.nm_turma="B" order by a.nr_ano_letivo,a.nm_turma,a.nr_chamada; Questão 4 select a.nm_aluno, a.nm_turma, d.nm_disciplina, b.vl_nota from tb_boletim b inner join tb_aluno a on b.id_aluno=a.id_aluno inner join tb_disciplina d on b.id_disciplina = d.id_disciplina where b.vl_nota < 5 and a.nm_aluno="Gabrielly Gonsalves Santos" and a.nm_turma="A" order by a.nr_ano_letivo,a.nm_turma,a.nr_chamada; Questão 5 select a.nm_aluno from tb_boletim b inner join tb_aluno a on b.id_aluno=a.id_aluno inner join tb_disciplina d on b.id_disciplina = d.id_disciplina where a.tp_status="F"; Questão 6 select upper(a.nm_aluno),lower(nm_professor) from tb_boletim b inner join tb_aluno a on b.id_aluno=a.id_aluno inner join tb_disciplina d on b.id_disciplina = d.id_disciplina where b.vl_nota between 4.5 and 7.5; Questão 7 select a.nm_aluno,d.nm_disciplina from tb_boletim b inner join tb_aluno a on b.id_aluno=a.id_aluno inner join tb_disciplina d on b.id_disciplina = d.id_disciplina where b.qtd_faltas =0; Questão 8 select a.nm_aluno,a.nr_ano_letivo from tb_boletim b inner join tb_aluno a on b.id_aluno=a.id_aluno inner join tb_disciplina d on b.id_disciplina = d.id_disciplina where a.ds_sexo="feminino" and a.nr_ano_letivo < year(now()); Questão 9 select a.nm_aluno from tb_boletim b inner join tb_aluno a on b.id_aluno=a.id_aluno inner join tb_disciplina d on b.id_disciplina = d.id_disciplina where a.nm_aluno like "%Silva%";