---
# System prepended metadata

title: 'Session One: Recomeçar  | SQL'

---

# Session One: Recomeçar  | SQL
autor: Isabela Silva Sousa

[toc]

## Modelagem 1: Tabela Gêneros / Tabela Filmes
>[color=red]Create script

```sql=
create table TB_Generos (
  ID_Genero           int primary key auto_increment,
  DS_Genero           varchar(100),
  VL_Ativo            bool
  );
  
 create table TB_Filmes (
  ID_Filme            int primary key auto_increment,
  NM_Filme            varchar(100),  
  ID_Genero           int,
  VL_Avaliacao        decimal(15,2),
  BT_Disponivel       bool,
  DT_Lancamento       date,
  foreign key (ID_Genero) 
  references TB_Generos (ID_Genero)
  );
```

 >[color=blue] Insert script

```sql=
 insert into TB_Generos (DS_Genero, VL_Ativo)
  values ('ação', true),
         ('Musical', true),
         ('Romance', true),
         ('Terror', true);
  
  
  insert into TB_Filmes (NM_Filme, ID_Genero, VL_Avaliacao, BT_Disponivel, DT_Lancamento)
  values ('Grease — Nos Tempos da Brilhantina', 2, 9.8, true, '1978-06-16'),
         ('Vingadores: Ultimato', 1, 9.8, true, '2019-04-25'),
         ('Como Eu Era Antes de Você', 3, 9.9, true, '2016-06-16'),
         ('Sobrenatural: A Última Chave', 4, 8.7, true, '2018-01-16'),
         ('High School Musical 2', 2, 7.9, true, '2007-10-07'),
         ('Um espião e meio', 1, 8.7, true, '2016-08-11'),
         ('Liga da Justiça', 1, 9.8, true, '2017-11-07'),
         ('Power Rangers - O Filme', 1, 8.7, true, '2017-03-27'),
         ('Deadpool 2', 1, 9.8, true, '2018-05-17'),
         ('Mulher-Maravilha', 1, 9.9, true, '2017-06-01'),
         ('Descendentes 3', 2, 8.5, true, '2019-08-02'),
         ('Trolls 2', 2, 9.9, true, '2020-10-08'),
         ('A Cinco Passos de Você', 3, 9.9, true, '2019-03-21'),
         ('Me Chame Pelo Seu Nome', 3, 8.7, true, '2018-01-18'),
         ('Annabelle 3: De Volta Para Casa', 4, 8.6, true, '2019-06-27');
```

 >[color=yellow] Update script

```sql=
 UPDATE TB_Filmes
 SET VL_Avaliacao=9.9
 WHERE ID_Filme=1;
  
 UPDATE TB_Filmes
 SET BT_Disponivel=false
 WHERE ID_Filme=11;
 
 DELETE FROM TB_Filmes
 WHERE ID_Filme = 9;
  
 DELETE FROM TB_Filmes
 WHERE ID_Filme = 11;
``` 

 >[color=purple] Select script

```sql=
SELECT G.DS_Genero,
       F.NM_filme,
       F.VL_Avaliacao,
       F.BT_Disponivel,
       F.DT_Lancamento

FROM TB_Filmes F
INNER JOIN TB_Generos G
ON F.ID_Genero = G.ID_Genero

WHERE G.DS_Genero = 'Ação'
AND   F.BT_Disponivel = true
AND   G.VL_Ativo = true

ORDER BY G.DS_Genero,
         F.NM_Filme;

SELECT F.NM_Filme
FROM TB_Filmes F
INNER JOIN TB_Generos G
ON F.ID_Genero = G.ID_Genero
WHERE F.NM_Filme LIKE '%a%'
AND F.ID_Genero LIKE '%a%';



SELECT F.NM_Filme
FROM TB_Filmes F
INNER JOIN TB_Generos G
ON F.ID_Genero = G.ID_Genero
WHERE F.BT_Disponivel=true
AND F.VL_Avaliacao >8;



SELECT F.NM_Filme
FROM TB_Filmes F
INNER JOIN TB_Generos G
ON F.ID_Genero = G.ID_Genero
WHERE F.DT_Lancamento BETWEEN "2010"
AND "2020";


SELECT F.NM_Filme
FROM TB_Filmes F
INNER JOIN TB_Generos G
ON F.ID_Genero = G.ID_Genero
WHERE F.DT_Lancamento BETWEEN "2010" AND "2020"
AND character_length(F.NM_Filme) < 10;




SELECT F.NM_Filme
FROM TB_Filmes F
INNER JOIN TB_Generos G
ON F.ID_Genero = G.ID_Genero
WHERE year(F.DT_Lancamento) IN (2016);



SELECT F.NM_Filme
FROM TB_Filmes F
INNER JOIN TB_Generos G
ON F.ID_Genero = G.ID_Genero
WHERE F.VL_Avaliacao = 9.9
OR F.NM_Filme NOT LIKE '%o%';

SELECT F.NM_Filme
FROM TB_Filmes F
INNER JOIN TB_Generos G
ON F.ID_Genero = G.ID_Genero
WHERE VL_Avaliacao <= 8.7;


SELECT F.NM_Filme
FROM TB_Filmes F
INNER JOIN TB_Generos G
ON F.ID_Genero = G.ID_Genero
WHERE F.ID_Genero= 2;
```
>[color=hotpink] Mer 
![](https://i.imgur.com/ViCe4HM.png)


## Modelagem 2: Tabela Turmas / Tabela Alunos
>[color=red]Create script

```sql=
CREATE TABLE TB_Genero (
  NM_Turma         varchar(100),
  NR_Ano_Letivo    int,
  NM_Curso         varchar(100)
);
  
CREATE TABLE TB_Alunos (
  ID_Aluno       int primary key auto_increment,
  NM_Aluno       varchar(100),
  DS_Sexo        varchar(100),
  ID_Turma       int,
  NR_Chamada     int,
  TP_Status      varchar(1),
  FOREIGN KEY (ID_Turma) REFERENCES TB_Turmas(ID_Turma)
);
```



>[color=blue] Insert script

```sql=
INSERT INTO TB_Turmas (NM_Turma, NR_Ano_Letivo, NM_Curso)
VALUES ('Inglês M', 2020, 'Inglês'),
       ('Inglês N', 2020, 'Inglês'),
       ('Info D', 2020, 'Informatica'),
       ('Info A', 2020, 'Informatica');
       
INSERT INTO TB_Alunos (NM_Aluno, DS_Sexo, ID_Turma, NR_Chamada, TP_Status)
VALUES ('Ana luiza Partenazi Lopez', 'Feminino', 2, 3, 'F'), 
       ('Isabelly de Souza Nascimento', 'Feminio', 4, 15, 'F'),
       ('Maria luiza Ribeiro dos Santos', 'Feminino', 1, 24, 'F'),
       ('Matheus Paulino de Oliveira', 'Masculino', 3, 26, 'F'),
       ('Leonardo Ribeiro de Souza', 'Masculino', 1, 18, 'F'),
       ('Luis Ricardo Oliveira', 'Masculino', 4, 24, 'D'),
       ('Isabela silva sousa', 'Feminino', 1, 17, 'F'), 
       ('Julia Rodriguez Silva', 'Feminino', 2, 18, 'D'),
       ('João Pedro Rodriguez Oliveira', 'Masculino', 3, 28, 'D'),
       ('Guilherme Nascimento Gomes', 'Masculino', 1, 15, 'D');
```

 >[color=yellow] Update script

```sql=
 UPDATE TB_Alunos
 SET TP_Status='F'
 WHERE ID_Aluno=10;
  
 UPDATE TB_Alunos
 SET NR_Chamada=26
 WHERE ID_Filme=9;
 
 DELETE FROM TB_Alunos
 WHERE ID_Aluno = 8;
  
 DELETE FROM TB_Alunos
 WHERE ID_Aluno = 2;
``` 

 >[color=purple] Select script

```sql=
SELECT T.NM_Turma,
       T.NR_Ano_Letivo,
       T.NM_Curso,
       A.NM_Aluno,
       A.DS_Sexo,
       A.NR_Chamada,
       A.TP_Status
FROM TB_Alunos A
INNER JOIN TB_Turmas T
ON A.ID_Turma = T.ID_Turma;
    
SELECT T.NM_Turma,
       A.NM_Aluno,
       A.NR_Chamada
FROM TB_Alunos A
INNER JOIN TB_Turmas T
ON A.ID_Turma = T.ID_Turma
ORDER BY T.NM_Turma;
    
    
    
SELECT * FROM TB_Alunos A
INNER JOIN TB_Turmas T
ON A.ID_Turma = T.ID_Turma
WHERE T.NM_Turma = 'I'
ORDER BY A.NM_Aluno;
    
    
    
SELECT T.NR_Ano_Letivo,
       T.NM_Turma,
       A.NM_Aluno,
       A.NR_Chamada,
       A.DS_Sexo
FROM TB_Alunos A
INNER JOIN TB_Turmas T
ON A.ID_Turma = T.ID_Turma
WHERE A.TP_Status = 'F'
AND T.NR_Ano_Letivo >= 2020
ORDER BY T.NM_Turma;
    
SELECT A.NM_Aluno,
       A.DS_Sexo
FROM TB_Alunos A
INNER JOIN TB_Turmas T
ON A.ID_Turma = T.ID_Turma
WHERE T.NM_Turma BETWEEN 'g' and 'f'
AND A.DS_Sexo = 'Masculino'
ORDER BY  T.NR_Ano_Letivo;
    
SELECT A.NR_Chamada
FROM TB_Alunos A
INNER JOIN TB_Turmas T
ON A.ID_Turma = T.ID_Turma
WHERE  A.NM_Aluno NOT LIKE '%M%';
    
    
SELECT A.NM_Aluno
FROM TB_Alunos A
INNER JOIN TB_Turmas T
ON A.ID_Turma = T.ID_Turma
WHERE A.NR_Chamada >= 24;
    
    
SELECT A.NM_Aluno,
length(A.NM_Aluno)
FROM TB_Alunos A
INNER JOIN TB_Turmas T
ON A.ID_Turma = T.ID_Turma;
    
    
SELECT A.NM_Aluno
FROM TB_Alunos A
INNER JOIN TB_Turmas T
ON A.ID_Turma = T.ID_Turma
WHERE  A.NM_Aluno LIKE '%e%'
AND  A.TP_Status = 'D';  
    
    
SELECT A.NM_Aluno
FROM TB_Alunos A
INNER JOIN TB_Turmas T
ON A.ID_Turma = T.ID_Turma
WHERE  A.NM_Aluno NOT LIKE '%u%'
OR   A.DS_Sexo = 'Masculino';
```
>[color=hotpink] Mer
![](https://i.imgur.com/VK6LHdB.png)
