***NOME*** João Gabriel Camargo Ramos ***TURMA*** INFO C ***NUMERO*** 23 # Recomeçar DADOS DE BANCO ```sql CREATE TABLE tb_genero ( id_genero int primary key auto_increment, ds_genero varchar(100), bt_ativo bool ); CREATE TABLE tb_filmes ( id_filme int primary key auto_increment, nm_filme varchar(100), id_genero int, dt_lancamento date, bt_disponivel bool, vl_avaliacao decimal(15,2), foreign key (id_genero) references tb_genero(id_genero) ); ``` ### INSERÇÃO (tb_filme) ```sql= INSERT INTO tb_filmes (nm_filme,id_genero,dt_lancamento,bt_disponivel,vl_avaliacao) VALUES ('Avatar',1,'2021-03-04',true,4.4), ('Avenger',3,'2020-12-31',true,2.2), ('Carros',1,'2020-09-24',true,4.8), ('Interestelar',4,'2014-11-06',true,4.9), ('Invocação do Mal',3,'2019-04-25',false,4.7), ('Run',1,'2017-04-06',false,4.5); ``` ### ATUALIZAÇÃO DE CAMPOS ```sql= UPDATE tb_filmes SET vl_avaliacao = 5.0 WHERE id_filme = 1; UPDATE tb_genero SET bt_ativo = false WHERE id_genero = 1; ``` ### REMOÇÃO DE CAMPOS ```sql= DELETE FROM tb_filmes WHERE id_filme = 3; DELETE FROM tb_genero WHERE id_genero = 2; ``` ### CONSULTAS #### *CONSULTA 1 - Consultar todos os filmes com gênero igual a ‘Ação’.* ```sql= SELECT * FROM tb_filmes F INNER JOIN tb_genero G ON F.id_genero = G.id_genero WHERE ds_genero = 'Ação'; ``` #### *CONSULTA 2 - Consultar todos os filmes que possuam o nome e gênero contendo a letra ‘a’.* ```sql= SELECT * FROM tb_filmes F INNER JOIN tb_genero G ON F.id_genero = G.id_genero WHERE nm_filme LIKE '%A%' AND ds_genero LIKE '%A%'; ``` #### *CONSULTA 3 - Consultar todos os filmes que estejam disponíveis e com avaliação maior que 8.* ```sql= SELECT * FROM tb_filmes F INNER JOIN tb_genero G ON F.id_genero = G.id_genero WHERE bt_disponivel = true AND vl_avaliacao > 8; ``` #### *CONSULTA 4 - Consultar todos os filmes que foram lançados entre 2010 e 2020 com nome de filme menor que 10 caracteres.* ```sql= SELECT * FROM tb_filmes F INNER JOIN tb_genero G ON F.id_genero = G.id_genero WHERE year(dt_lancamento) BETWEEN '2010' AND '2020' AND length(nm_filme) < 10; ``` ### CONSULTAS PERSONALIDAS #### *CONSULTA 5* ```sql= SELECT * FROM tb_filmes F INNER JOIN tb_genero G ON F.id_genero = G.id_genero WHERE nm_filme NOT LIKE 'A%' ORDER BY nm_filme DESC; ``` #### *CONSULTA 6* ```sql= SELECT * FROM tb_filmes F INNER JOIN tb_genero G ON F.id_genero = G.id_genero WHERE day(dt_lancamento) BETWEEN '01' AND '20'; ``` #### *CONSULTA 7* ```sql= SELECT * FROM tb_filmes F INNER JOIN tb_genero G ON F.id_genero = G.id_genero WHERE ds_genero IN('Fantasia','Aventura'); ``` #### *CONSULTA 8* ```sql= SELECT * FROM tb_filmes F INNER JOIN tb_genero G ON F.id_genero = G.id_genero WHERE bt_disponivel = true; ``` #### *CONSULTA 9* ```sql= SELECT * FROM tb_filmes F INNER JOIN tb_genero G ON F.id_genero = G.id_genero; ``` ## Tabela Alunos https://www.db-fiddle.com/ ### 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(20), nm_aluno varchar(255), nr_chamada int, tp_status varchar(1), foreign key (id_turma) references tb_turma(id_turma) ); ``` ### INSERÇÃO (tb_turma) ```sql= INSERT INTO tb_turma (nm_turma,nr_ano_letivo,nm_curso) VALUES ('A',2019,'Informática'), ('B',2019,'Informática'), ('C',2021,'Informática'), ('D',2021,'Informática'); ``` ### INSERÇÃO (tb_aluno) ```sql= INSERT INTO tb_aluno (id_turma,ds_sexo,nm_aluno,nr_chamada,tp_status) VALUES (1,'Feminino','Juliana',23,'F'), (1,'Masculino','Sandro',34,'F'), (1,'Masculino','Kaique',22,'D'), (2,'Masculino','José',9,'D'), (2,'Masculino','Lucas',15,'F'), (2,'Masculino','João',16,'F'), (3,'Masculino','Nicolas',10,'F'), (3,'Feminino','Maria',22,'D'), (3,'Feminino','Julia',20,'F'), (4,'Feminino','Ana ',1,'F'), (4,'Masculino','Gabriel', 18,'D'), (4,'Masculino','Giovanna',20,'D'); ``` ### ATUALIZAÇÃO DE CAMPOS ```sql= UPDATE tb_aluno SET nr_chamada = 12 WHERE id_aluno = 12; UPDATE tb_turma SET nm_turma = 'E' WHERE id_turma = 4; ``` ### REMOÇÃO DE CAMPOS ```sql= DELETE FROM tb_aluno WHERE id_aluno = 11; DELETE FROM tb_aluno WHERE id_aluno = 8; ``` ### CONSULTAS #### *CONSULTA 1 - Selecionar turma, nome e chamada da tabela alunos filtrando por turma.* ```sql= SELECT A.nm_aluno, T.nm_turma, A.nr_chamada FROM tb_aluno A INNER JOIN tb_turma T ON A.id_turma = T.id_turma WHERE nm_turma LIKE '%G%'; ``` #### *CONSULTA 2 - Selecionar todos campos da tabela alunos filtrando por nome e turma de forma parcial.* ```sql= SELECT * FROM tb_aluno A INNER JOIN tb_turma T ON A.id_turma = T.id_turma WHERE nm_turma LIKE '%O%' AND nm_aluno LIKE '%A%'; ``` #### *CONSULTA 3 - 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_aluno A INNER JOIN tb_turma T ON A.id_turma = T.id_turma WHERE tp_status = 'F' AND nr_ano_letivo = 2021; ``` #### *CONSULTA 4 - 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 nr_ano_letivo = 2019 AND nm_turma = 'B' AND ds_sexo = 'Masculino'; ``` ### CONSULTAS PERSONALIZADAS #### *CONSULTA 5* ```sql= SELECT * FROM tb_aluno A INNER JOIN tb_turma T ON A.id_turma = T.id_turma WHERE nm_turma = 'A'; ``` #### *CONSULTA 6* ```sql= SELECT * FROM tb_aluno A INNER JOIN tb_turma T ON A.id_turma = T.id_turma WHERE nm_aluno LIKE '%R%'; ``` #### *CONSULTA 7* ```sql= SELECT * FROM tb_aluno A INNER JOIN tb_turma T ON A.id_turma = T.id_turma WHERE ds_sexo = 'Feminino' ORDER BY nm_aluno DESC; ``` #### *CONSULTA 8* ```sql= SELECT * FROM tb_aluno A INNER JOIN tb_turma T ON A.id_turma = T.id_turma; ``` #### *CONSULTA 9* ```sql= SELECT A.nm_aluno, A.nr_chamada, A.tp_status, T.nm_turma FROM tb_aluno A INNER JOIN tb_turma T ON A.id_turma = T.id_turma WHERE nr_ano_letivo = 2019 OR ds_sexo = 'Feminino' ORDER BY tp_status ASC; ```