---
# System prepended metadata

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

---

# 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%';
```







