# Session one/Tabela filme
Guilherme hegeler Sousa
N°13
Info:A
[TOC]
## Tabela genero
>Create Script
```sql=
Create table TB_genero(
ID_genero int primary key auto_increment,
DS_genero Varchar(200),
BT_ativo Bool
);
```
>Insert Script
```sql=
insert into TB_genero (DS_genero, BT_ativa )
values ("comedia", true),
("Terror", true),
("ação", true),
("Drama", true),
("Suspense", true);
```
## Tabela filme
>Create Script
```sql=
Create Table TB_filmes(
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)
);
```
>Insert Script
```sql=
Insert into TB_filmes(NM_filme, ID_genero, VL_avaliacao, BT_disponivel, DT_lancamento)
Values ("Gente Grande", 1, "9.8", true, "2010-09-24"),
("Missão Impossível", 3, "9.6", true, "1996-07-12"),
("Hush", 5, "9.7", true, "2016-03-12"),
("Velozes e Furiosos 5", 3, "9.1", true, "2011-04-15"),
('Velozes e furiosos 6', 1, "9.5", true, '2016-03-24'),
('RED', 3, '8.7', true, '2016-03-24'),
('Gente Grande 2', 1, '10.0', true, '2013-8-16'),
('Radioactive', 4, '10.0', true, '2020-03-01'),
('Era uma vez um sonho', 4, '9.5', true, '2020-09-12'),
('Relatos do Mundo', 4, '8.5', true, '2020-01-21');
```
## Sql Pricipal
```sql=
select NM_filme,
DS_genero,
VL_avaliacao,
BT_disponivel,
DT_lancamento
from TB_filmes f
inner join TB_genero g
on f.ID_genero = g.ID_genero
```
# Desafios
### Desafio 1
>Inserir 10 registros na tabela.
```sql=
Insert into TB_filmes(NM_filme, ID_genero, VL_avaliacao, BT_disponivel, DT_lancamento)
values ("Gente Grande", 1, "9.8", true, "2010-09-24"),
("Missão Impossível", 3, "9.6", true, "1996-07-12"),
("Hush", 5, "9.7", true, "2016-03-12"),
("Velozes e Furiosos 5", 3, "9.1", true, "2011-04-15"),
('Velozes e furiosos 6', 1, "9.5", true, '2016-03-24'),
('RED', 3, '8.7', true, '2016-03-24'),
('Gente Grande 2', 1, '10.0', true, '2013-8-16'),
('Radioactive', 4, '10.0', true, '2020-03-01'),
('Era uma vez um sonho', 4, '9.5', true, '2020-09-12'),
('Relatos do Mundo', 4, '8.5', true, '2020-01-21');
```
### Desafio 2
>Alterar 2 registros da tabela.
```sql=
Update TB_filmes
Set VL_avaliacao = "9.7"
Where ID_filme = 2;
Update TB_filmes
Set DT_lancamento = "2016-04-15"
Where ID_filme = 3;
```
### Desafio 3
>Remover 2 registros da tabela.
```sql=
DELETE FROM TB_filmes where ID_filme = 1;
DELETE FROM TB_filmes where NM_filme = "Radioactive";
```
### Desafio 4
>Consultar todos os filmes com gênero igual a ‘Ação’.
```sql=
where g.ID_genero = 3
```
### Desafio 5
>Consultar todos os filmes que possuam o nome e gênero contendo a letra ‘a’.
```sql=
where f.NM_filme like "%a%"
and g.DS_genero like "%a%";
```
### Desafio 6
>Consultar todos os filmes que estejam disponíveis e com avaliação maior que 8.
```sql=
where f.VL_avaliacao > 8
and f.BT_disponivel = true
```
### Desafio 7
>Consultar todos os filmes que foram lançados entre 2010 e 2020 com nome de filme menor que 10 caracteres.
```sql=
where DT_lancamento between "2010-01-01" and "2020-01-01"
and length(NM_filme) < 10;
```
### Desafio 8
>Crie mais 5 consultas personalizadas conforme sua vontade que explore filtros como:
>, >=, <, <=, =, <>, LIKE, IN, BETWEEN, Funções de Texto/Número/Data.
```sql=
1- where NM_filme like "%U%"
2- where DT_lancamento >= "01-01-2015"
3- where BT_disponivel = false
4- where VL_avaliacao <= '9.0'
5- where g.ID_genero between 3 and 5;
```