---
# System prepended metadata

title: Recomeçar (MySql)

---

# Recomeçar (MySql)

Autor: Letícia Rocha✨💕

[toc]


## Modelagem: Sistema de filmes no estilo Netflix

>Create Table 

```sql=
--tabela de genero
Create Table Tb_Genero(
  Id_Genero    Int primary key auto_increment,
  Ds_Genero       Varchar(200),
  Bt_Ativo        Bool
  );
```


>Create Table 

```sql=
--tabela de filmes
Create Table Tb_Filme(
  Id_filme        int primary key auto_increment,
  Nm_Filme            Varchar(200),
  Id_genero           Int,
  Vl_avaliacao        Decimal(15,2),
  Bt_disponivel       Bool,
  Dt_lancamento       Date,
  Foreign Key (Id_Genero) References Tb_Genero      (Id_Genero)
);
```



## Desafios:
> 1.1 **Inserir 10 registros na tabela.**

> Insert script

```sql=
--tabela de genero
Insert Into Tb_Genero (Ds_Genero, Bt_Ativo)
     Values ('Clássico', TRUE),
            ('Romance', TRUE),
            ('Drama',   TRUE),
            ('Terror',  TRUE),
            ('Anime',   TRUE),
            ('Ação',TRUE),
            ('Documentário', True),
            ('Comedia', TRUE),
            ('Fantasia', TRUE),
            ('Ficção',   TRUE);
```



>1.2 **Inserir 10 registros na tabela.**

> Insert script

```sql=
--tabela de alunos 
 Insert Into Tb_Filme (nm_filme, id_genero, vl_avaliacao, bt_disponivel, dt_lancamento) 
     Values('Amor Com Data Marcada', 2, 10.5, TRUE, '2020-10-28'),
            ('Seis Vezes Confusão', 8, 9.7, TRUE, '2019-08-16'),
            ('A Cinco Passos De Você', 3, 10.9, TRUE, '2020-07-05'),
            ('The Perfect Date', 2, 10.5, TRUE, '2019-04-12'),
            ('Elite', 6, 10.2, TRUE, '2018-10-05'),
            ('Na Mesma Onda', 3, 7.9, TRUE, '2021-03-27'),
            ('Amnésia', 4, 8.2, TRUE, '2015-03-16'),
            ('Meu Amigo ToToro', 5, 7.7, TRUE, '1988-04-16'),
            ('Dumplin', 2, 9.9, TRUE, '2015-07-15'),
            ('Legacies', 9, 10.9, TRUE, '2018-10-25');                 
```    



> 2.1 **Alterar 2 registros da tabela.**

>Insert script

```sql=
Update Tb_Filme
  Set Nm_Filme = "Barraca do Beijo"
  Where Id_filme = 3;
``` 

>2.2 **Alterar 2 registros da tabela.**
>Insert script

```sql=
Update Tb_Filme
  Set Dt_lancamento = "2021-01-29"
  Where Id_filme = 6;
```


>3.1 **Remover 2 registros da tabela.**

>Insert script

```sql=
Delete from Tb_Filme
  Where Id_genero = 8;
```

> 3.2 **Remover 2 registros da tabela.**

>Insert script

```sql=
Delete from Tb_Filme
  Where Id_filme = 9;
```



> 4. **Consultar todos os filmes com gênero igual a ‘Ação’.**

> Select script

```sql=
SELECT  * 
       
FROM Tb_Filme F 
  INNER JOIN Tb_Genero G
  ON F.Id_Genero = G.Id_Genero
    WHERE G.ds_genero = 'Ação';
```


> 5. **Consultar todos os filmes que possuam o nome e gênero contendo a letra ‘a’.**

> Select script

```sql=
SELECT  * 
       
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%'
    ;
```



> 6. **Consultar todos os filmes que estejam disponíveis e com avaliação maior que 8.**

> Select script

```sql=
SELECT  * 
       
FROM Tb_Filme F 
  INNER JOIN Tb_Genero G
  ON F.Id_Genero = G.Id_Genero
   Where F.vl_avaliacao >8
   And F.Bt_disponivel = TRUE
   ;
```


> 7. **Consultar todos os filmes que foram lançados entre 2010 e 2020 com nome de filme menor que 10 caracteres.**

> Select script

```sql=
SELECT  *
       
FROM Tb_Filme F 
  INNER JOIN Tb_Genero G
  ON F.Id_Genero = G.Id_Genero
   WHERE LENGTH(TRIM(F.Nm_Filme)) < 10;
```


> 8.1 **Crie mais 5 consultas personalizadas conforme sua vontade que explore filtros como: >, >=, <, <=, =, <>, LIKE, IN, BETWEEN, Funções de Texto/Número/Data**

> Select script

```sql=
SELECT *
       
FROM Tb_Filme F 
  INNER JOIN Tb_Genero G
  ON F.Id_Genero = G.Id_Genero
   WHERE G.Ds_Genero IN ('Romance', 'Drama')
  OR F.vl_avaliacao BETWEEN  6 AND 7;
```


> 8.2 **Crie mais 5 consultas personalizadas conforme sua vontade que explore filtros como: >, >=, <, <=, =, <>, LIKE, IN, BETWEEN, Funções de Texto/Número/Data**

> Select script

```sql=
SELECT *
       
FROM Tb_Filme F 
  INNER JOIN Tb_Genero G
  ON F.Id_Genero = G.Id_Genero
  WHERE month(F.dt_lancamento) >=day(F.dt_lancamento);
```


> 8.3 **Crie mais 5 consultas personalizadas conforme sua vontade que explore filtros como: >, >=, <, <=, =, <>, LIKE, IN, BETWEEN, Funções de Texto/Número/Data**

> Select script

```sql=
SELECT *
       
FROM Tb_Filme F 
  INNER JOIN Tb_Genero G
  ON F.Id_Genero = G.Id_Genero
  WHERE    F.nm_filme like 'a%'
       or  F.nm_filme like 'e%'
       or  F.nm_filme like 'i%';
```


> 8.4 **Crie mais 5 consultas personalizadas conforme sua vontade que explore filtros como: >, >=, <, <=, =, <>, LIKE, IN, BETWEEN, Funções de Texto/Número/Data**

> Select script

```sql=
SELECT *
       
FROM Tb_Filme F 
  INNER JOIN Tb_Genero G
  ON F.Id_Genero = G.Id_Genero
  WHERE locate ( ' ', F.nm_filme) = 0;
```


> 8.5 **Crie mais 5 consultas personalizadas conforme sua vontade que explore filtros como: >, >=, <, <=, =, <>, LIKE, IN, BETWEEN, Funções de Texto/Número/Data**

> Select script

```sql=
SELECT *
       
FROM Tb_Filme F 
  INNER JOIN Tb_Genero G
  ON F.Id_Genero = G.Id_Genero
  WHERE vl_avaliacao <= 8.5;
```


## Modelagem: Sistema que gerencia informações de alunos de uma escola.

>Create Table 

```sql=
--tabela de turma
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 

```sql=
--tabela de aluno
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)
);
```


## Desafios:

> 1.1 **Inserir 10 registros na tabela.**

> Insert script

```sql=
--tabela de turma
INSERT INTO  Tb_Turma (Nm_Turma, Nr_Ano_Letivo, Nm_Curso)
      VALUES ('Info C', 2020, 'Informatica'),
             ('Info A', 2020, 'Informatica'),
             ('Ing B', 2019, 'Inglês'),
             ('Ing F', 2020, 'Inglês'),
             ('Adm G', 2021, 'Administração'),
             ('Adm B', 2019, 'Administração'),
             ('Qmc A', 2021, 'Química'),
             ('Qmc F', 2020, 'Química'),
             ('Fnc B', 2021, 'Francês'), 
             ('Fnc C', 2019, 'Francês');
```


> 1.2 **Inserir 10 registros na tabela.**

> Insert script

```sql=
--tabela de alunos
INSERT INTO  Tb_Aluno ( Id_Turma, Ds_Sexo, Nm_Aluno, Nr_Chamada, Tp_Status)
VALUES (2, 'Masculino', 'Klaus Mikason', 28, 'f'),
       (6, 'Feminino', 'Rebeca Sulavan', 32, 'd'),
       (3, 'Masculino', 'Elija Fróes', 13, 'f'),
       (5, 'Feminino', 'Kailane Souza', 7, 'f'),
       (2, 'Feminino', 'Luana Ferraz', 12, 'f'),
       (8, 'Masculino', 'Damon Salvatore', 9, 'd'),
       (1, 'Feminino', 'Caroline Gomes', 27, 'f'),
       (9, 'Masculino', 'Stefan Fernandes', 34, 'd'),
       (7, 'Masculino', 'Marcelos Soares', 20, 'f'),
       (10,'Feminino', 'Cami Heios', 30,'f');
```


> 2.1 **Alterar 2 registros da tabela.**

>Insert script

```sql=
Update Tb_Aluno
  Set Nr_Chamada = "22"
  Where Id_Turma = 3;
```


> 2.2 **Alterar 2 registros da tabela.**

>Insert script

```sql=
Update Tb_Aluno
  Set Ds_Sexo = "Masculino"
  Where Id_Aluno = 5;
```


> 3.1 **Remover 2 registros da tabela.**

>Insert script

```sql=
Delete From Tb_Aluno
Where Id_Aluno= 7;
```


> 3.2 **Remover 2 registros da tabela.**

>Insert script

```sql=
Delete From Tb_Aluno
Where Id_Aluno= 10;
```



> 4. **Selecionar turma, nome e chamada da tabela alunos filtrando por turma.**

>Insert script

```sql=
SELECT T.Nm_Turma,
       A.Nm_Aluno,
       A.Nr_Chamada
FROM Tb_Aluno A
INNER JOIN Tb_Turma T
ON A.Id_Turma = T.Id_Turma
      Where T.Nm_Turma = "Info A";
```



> 5. **Selecionar todos campos da tabela alunos filtrando por nome e turma de forma parcial.**

>Insert script

```sql=
SELECT *
FROM Tb_Aluno A
INNER JOIN Tb_Turma T
ON A.Id_Turma = T.Id_Turma
      Where T.Nm_Turma like '%Adm%'
      And A.Nm_Aluno like '%i%';
```



> 6. **Selecione ano letivo, turma, nome, chamada, sexo da tabela alunos filtrando os frequentes por turma e ano letivo.**

>Insert script

```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 T.Nm_Turma = 'Info A'
      And T.Nr_Ano_Letivo = 2020;
```



> 7. **Selecione nome, sexo da tabela alunos filtrando por ano, turma e sexo.**

>Insert script

```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 T.Nr_Ano_Letivo = 2020
      And T.Nm_Turma = "Qmc A"
      OR A.Ds_Sexo = "Masculino";
```



> 8.1 **Crie mais 5 consultas personalizadas conforme sua vontade que explore filtros como:>, >=, <, <=, =, <>, LIKE, IN, BETWEEN, Funções de Texto/Número/Data**

> Select script

```sql=
SELECT *

FROM Tb_Aluno A
INNER JOIN Tb_Turma T
ON A.Id_Turma = T.Id_Turma
     WHERE Ds_Sexo LIKE '%Feminino%';
 ```
 
 

> 8.2 **Crie mais 5 consultas personalizadas conforme sua vontade que explore filtros como:>, >=, <, <=, =, <>, LIKE, IN, BETWEEN, Funções de Texto/Número/Data**

> Select script

```sql=
SELECT *

FROM Tb_Aluno A
INNER JOIN Tb_Turma T
ON A.Id_Turma = T.Id_Turma
    WHERE Nr_Chamada <= 20;
```
 
 

> 8.3 **Crie mais 5 consultas personalizadas conforme sua vontade que explore filtros como:>, >=, <, <=, =, <>, LIKE, IN, BETWEEN, Funções de Texto/Número/Data**

> Select script

```sql=
SELECT *

FROM Tb_Aluno A
INNER JOIN Tb_Turma T
ON A.Id_Turma = T.Id_Turma
WHERE Nr_Ano_Letivo >=  2019
ORDER
BY  Nr_Ano_Letivo DESC;
```
 
 

> 8.4 **Crie mais 5 consultas personalizadas conforme sua vontade que explore filtros como:>, >=, <, <=, =, <>, LIKE, IN, BETWEEN, Funções de Texto/Número/Data**

> Select script

```sql=
SELECT *

FROM Tb_Aluno A
INNER JOIN Tb_Turma T
ON A.Id_Turma = T.Id_Turma
   WHERE  Nm_Turma like 'a%';
```
 
 

> 8.5 **Crie mais 5 consultas personalizadas conforme sua vontade que explore filtros como:>, >=, <, <=, =, <>, LIKE, IN, BETWEEN, Funções de Texto/Número/Data**

> Select script

```sql=
SELECT *

FROM Tb_Aluno A
INNER JOIN Tb_Turma T
ON A.Id_Turma = T.Id_Turma
WHERE Tp_Status IN ( 'f')
  OR Nr_Chamada BETWEEN  10 And 15;
```
