# 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}]"}
Expand menu