---
# System prepended metadata

title: Recomeçar DADOS DE BANCO

---

***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;
```