# Session One: Recomeçar | Banco de Dados
Autor:Pedro HenriqueGomes De Oliveira Sardinha
turma:InfoB
número:41
[toc]
## *TABELA FILME*
### Exercício 1
```sql=
CREATE TABLE tb_Genero (
id_Genero int PRIMARY KEY AUTO_INCREMENT,
ds_Genero varchar(100),
bt_Ativo bool
);
CREATE TABLE tb_Filme (
id_Filme int PRIMARY KEY AUTO_INCREMENT,
nm_Filme varchar(100),
id_Genero int,
dt_Lancamento date,
bt_Disponivel bool,
vl_Avaliacao decimal(10,2),
FOREIGN KEY (id_Genero) REFERENCES tb_Genero (id_Genero)
);
INSERT INTO tb_Genero(ds_Genero, bt_Ativo)
VALUES ('Ação', true),
('Terror', true),
('Suspense', true),
('Comédia', true);
INSERT INTO tb_Filme(nm_Filme, id_Genero, dt_Lancamento, bt_Disponivel, vl_Avaliacao)
VALUES ('Kung Fu Panda', 1, '2008-07-04', false, 9.6),
('Gritos do Mal', 3, '2007-04-13', true, 7.8),
('American Pie', 4, '2000-06-11', true, 9.4),
('Uma Noite de Crime', 2, '2013-02-08', true, 9.1),
('Todo Mundo em Pânico', 4, '2000-09-22', false, 9.0),
('Super-Herói: O Filme', 4, '2008-03-04', true, 9.4),
('A Morte Te Dá Parabéns', 2, '2017-10-12', true, 8.3),
('O Espetacular Homem-Aranha', 1, '2012-06-13', false, 8.9),
('Hush: A Morte Ouve', 3, '2016-03-12', true, 8.7),
('Madagascar', 1, '2005-05-24', false, 9.4);
```
### Exercício 2
```sql=
UPDATE tb_Filme
SET bt_Disponivel = true WHERE id_Genero = 1;
UPDATE tb_Genero
SET ds_Genero = 'Horror' WHERE id_Genero = 2;
```
### Exercício 3
```sql=
DELETE FROM tb_Filme
WHERE id_Filme = 5;
DELETE FROM tb_Filme
WHERE id_Genero = 4;
```
### Exercício 4
```sql=
SELECT F.nm_Filme,
F.vl_Avaliacao,
G.id_Genero,
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
WHERE F.vl_Avaliacao > 4
ORDER BY F.nm_Filme;
```
### Exercício 5
```sql=
SELECT F.nm_Filme,
G.ds_Genero
FROM tb_Filme F
INNER JOIN tb_Genero G ON F.id_Genero = G.id_Genero
WHERE F.nm_Filme LIKE '%a%'
AND G.ds_Genero LIKE '%a%';
```
### Exercício 6
```sql=
SELECT F.nm_Filme,
F.bt_Disponivel,
F.vl_Avaliacao
FROM tb_Filme F
INNER JOIN tb_Genero G ON F.id_Genero = G.id_Genero
WHERE F.bt_Disponivel LIKE true
AND F.vl_Avaliacao > 8;
```
### Exercício 7
```sql=
SELECT F.nm_Filme,
F.bt_Disponivel,
F.vl_Avaliacao,
F.dt_Lancamento
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-12-31'
AND length(F.nm_Filme) <= 10;
```
### Exercício 8
```sql=
SELECT F.nm_Filme,
F.vl_Avaliacao,
G.ds_Genero
FROM tb_Filme F
INNER JOIN tb_Genero G ON F.id_Genero = G.id_Genero
WHERE F.vl_Avaliacao >= 8.5 AND G.ds_Genero ='Comédia'
ORDER BY F.vl_Avaliacao desc;
```
```sql=
SELECT F.nm_Filme,
F.dt_Lancamento
FROM tb_Filme F
INNER JOIN tb_Genero G ON F.id_Genero = G.id_Genero
WHERE F.dt_Lancamento >'2020-01-01';
```
```sql=
SELECT F.nm_Filme,
G.ds_Genero
FROM tb_Filme F
INNER JOIN tb_Genero G ON F.id_Genero = G.id_Genero
WHERE G.ds_Genero IN ('Ação', 'Terror', 'Suspense');
```
```sql=
SELECT F.nm_Filme,
F.vl_Avaliacao
FROM tb_Filme F
INNER JOIN tb_Genero G ON F.id_Genero = G.id_Genero
WHERE F.vl_Avaliacao >= 9
ORDER BY F.vl_Avaliacao desc;
```
```sql=
SELECT F.nm_Filme,
F.dt_Lancamento
FROM tb_Filme F
INNER JOIN tb_Genero G ON F.id_Genero = G.id_Genero
WHERE F.dt_Lancamento < '2010-1-1';
```
## *TABELA ALUNO*
### Exercício 1
```sql=
CREATE TABLE tb_Aluno(
id_Aluno int PRIMARY KEY AUTO_INCREMENT,
nm_Turma varchar(100),
nr_Ano_letivo int,
nm_Aluno varchar(100),
nr_Chamada int,
ds_Sexo varchar(100),
tp_Status varchar(1)
);
CREATE TABLE tb_Disciplina(
id_Disciplina int PRIMARY KEY AUTO_INCREMENT,
nm_Disciplina varchar(100),
nm_Professor varchar(100)
);
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("B", 2020, "Pedro Henrique Guimarães", 19, "Masculino", "T"),
("A", 2016, "Julia Costa De Oliveira", 22, "Feminino", "F"),
("C", 2014, "Carla Araujo Dos Santos", 16, "Feminino", "F"),
("C", 2015, "Beatriz Gomes Martins", 6, "Feminino", "T"),
("A", 2007, "Erick costa", 33, "Masculino", "T"),
("B", 2019, "Matheus Fernandes Barbosa", 21, "Masculino", "F"),
("B", 2018, "Vinicius Castro Goncalves", 8, "Masculino", "T"),
("A", 2018, "Bruno Almeida Cavalcanti", 7, "Masculino", "T"),
("C", 20010, "Alex Araujo Correia", 3, "Masculino", "T"),
("A", 2011, "Clara Cavalcanti Gomes", 4, "Feminino", "T");
INSERT INTO tb_Disciplina (nm_Disciplina, nm_Professor)
VALUES ("Matemática", "Edison"),
("Português", "Sônia"),
("Biologia", "Fernanda"),
("Historia", "Carlos"),
("Inglês", "Fernando");
INSERT INTO tb_Boletim(id_Aluno, id_Disciplina, vl_Nota, qtd_Faltas)
VALUES (1, 1, 8.5, 0),
(2, 2, 9.5, 1),
(3, 3, 5, 0),
(4, 4, 8.5, 2),
(5, 5, 8, 0),
(6, 1, 4.5, 1),
(7, 2, 7.5, 3),
(8, 3, 4.5, 4),
(9, 4, 6, 7),
(10, 5, 5, 0);
SELECT A.nm_Aluno,
A.nm_Turma,
D.nm_Disciplina,
D.nm_Professor,
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;
SELECT A.nm_Aluno,
A.nm_Turma,
D.nm_Disciplina,
D.nm_Professor,
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;
```
### Exercício 2
```sql=
UPDATE tb_Boletim
SET vl_Nota = 8
WHERE id_Boletim = 4;
UPDATE tb_Boletim
SET vl_Nota = 10
WHERE id_Boletim = 7;
```
### Exercício 3
```sql=
DELETE FROM tb_Aluno
WHERE nm_Aluno = "Alex Araujo Correia";
DELETE FROM tb_Disciplina
WHERE nm_Disciplina ="Biologia";
```
### Exercício 4
```sql=
SELECT A.nm_Aluno,
A.nm_Turma,
A.nr_Chamada
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
SELECT A.nm_Aluno,
A.nm_Turma,
A.nr_Chamada,
A.nr_Ano_letivo,
A.ds_Sexo
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 = "B";
```
### Exercício 5
```sql=
SELECT A.nm_Aluno,
A.nm_Turma,
A.nr_Chamada,
A.nr_Ano_letivo,
A.ds_Sexo,
A.tp_Status
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 IN ("B", "C") AND A.nr_Ano_letivo BETWEEN (2011) AND (2021);
```
### Exercício 6
```sql=
SELECT A.nm_Aluno,
A.nm_Turma,
A.nr_Chamada,
A.nr_Ano_letivo,
A.ds_Sexo
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" AND A.nr_Ano_letivo = 2021 AND A.nm_Turma = "A";
```
### Exercício 7
```sql=
SELECT A.nm_Aluno,
A.ds_Sexo
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.nr_Ano_letivo = 2018 AND A.nm_Turma = "B" AND A.ds_Sexo = "Feminino";
```
### Exercício 8
```sql=
SELECT A.nm_Aluno,
A.tp_status
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"
```
```sql=
SELECT UPPER (A.nm_Aluno),
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 BETWEEN 6 AND 8.5;
```
```sql=
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 B.qtd_Faltas = 4;
```
```sql=
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());
```
```sql=
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 "%sa%";
```