---
# System prepended metadata

title: Super Bônus Sql

---

# Super Bônus Sql
autor: Luigi da silva coelho 

[toc]

## Modelagem 1: Catálogo Loja Apps

> Create Script
```sql=
create table tb_apps (
id_apps                       int primary key auto_increment,
nm_nome                       varchar(200),
tp_genero                     varchar(100),
bt_disponivel_na_apple_store  bool,
bt_disponivel_na_google_play  bool,
nm_criador                    varchar(100),
qtd_total_dowloads            int,
vl_avaliação                  decimal(10,2),
qtd_tamanho                   int,
dt_ultima_atualização         date
);
```

> Insert Script

```sql=
    insert into tb_apps (nm_nome, tp_genero, bt_disponivel_na_apple_store, bt_disponivel_na_google_play, nm_criador, qtd_total_dowloads, vl_avaliação,
qtd_tamanho, dt_ultima_atualização)
    values ('Standoff', 'jogo', true, true, 'AXLEBOLT', 125000000, 4.5, 500, '2021-03-26'),
           ('among us', 'jogo', true, true, 'innersloth LLC', 1000000000, 3.9, 542, '2021-03-30'),
           ('ifood delivery de comida e mercado', 'aplicativo', true, true, 'ifood delivery de comida e mercado', 5000000, 4.8, 28, '2021-04-01'),
           ('Brawl Stars', 'jogo', true, false, 'SuperCell', 350000, 4.4, 59, '2021-03-29');
```

> Select Script
```sql=
    -- Consulta por apps que são diferentes de jogos.

select * from tb_apps where tp_genero <> 'jogos';

    -- Consulta por apps que são disponíveis na app store e indisponiveis na play store.

select * from tb_apps 
         where bt_disponivel_na_apple_store = true 
         and   bt_disponivel_na_google_play = false;
               
    -- Consulta por Nomes de apps que contém a letra A.

select*from tb_apps
      where nm_nome like 'A%';
```



## Modelagem 2: Países

>Create Script

```sql=
CREATE TABLE tb_paises (
  id_paises		  int primary key auto_increment,
  nm_nome                varchar(200),
  ds_sigla               varchar(200),
  qtd_populacao          int,
  nr_area 		  varchar(200),
  dt_data_aniversario    date,
  ds_pib        	  varchar(200),
  nm_continente          varchar(200),
  nm_capital    	  varchar(200),
  ds_idiomas             varchar(200)
  );
 ```


> Insert Script
```sql=
insert into tb_paises (nm_nome, ds_sigla, qtd_populacao, nr_area, dt_data_aniversario, ds_pib, nm_continente, nm_capital, ds_idiomas)
         values 
         ('Brasil', 'Br', 212000000, '8.516.000 km²', '1500-04-22', '1,84 trilhão USD', 'America do Sul', 'Distrito Federal', 'Português e A lingua Brasileira de Libras'),
         ('Estados Unidos', 'EUA', 326766748, '9.833.517 km²', '1776-07-04', '21,43 trilhões USD', 'America do Norte', 'Washington, D.C.', 'InglÊs'),
         ('Angola', 'AO', 31830000, '1.247.000 km²', '1975-11-11', '88,82 bilhões USD', 'África', 'Luanda', 'Português');
```

> Select Script
```sql=
-- Consulta por indenpendencia maior que 1900.

 select * from tb_paises
	   where dt_data_aniversario > '1900-01-01';
       
-- Consulta por países que o pib está em bilhões.

select * from tb_paises
         where ds_pib = 'bilhões';
         
-- Consulta por países que estão na américa do sul.

select * from tb_paises
         where nm_continente = 'América do sul';
```

## Modelagem 3: Clube de Futebol
> Create Script
```sql=
create table tb_clubes_futebol(
  id_futebol 	          int primary key auto_increment,
  nm_nome 	          varchar(255),
  ds_sigla 	          varchar(200),
  nm_pais  	          varchar(200),
  nm_cidade              varchar(200),
  dt_data 	          date,
  ds_total_titulos       int(200),
  nm_presidente          varchar(200),
  qtd_capacidade_estadio int(200),
  nm_estadio  	          varchar(200)
  );
```

> Insert Script
```sql=
insert into  tb_clubes_futebol(nm_nome, ds_sigla, nm_pais, nm_cidade, dt_data, ds_total_titulos, nm_presidente, qtd_capacidade_estadio, nm_estadio)
      values
     ('Santos Futebol Clube', 'SFC', 'Brasil', 'Santos', '1912-04-14', 40, 'Andrés Rueda', 16899, 'Urbano Caldeira'),
     ('Corinthians', 'COR', 'Brasil', 'São Paulo', '1910-09-01', 45, 'Duílio Monteiro Alves', 49205, 'Neo Química Arena'),
     ('Futbol Club Barcelona', 'FCB', 'Espanha', 'Catalunha', '1889-11-29', 65, 'Joan Laporta', 99000, 'Camp Nou');
```

> Select Script
```sql=
-- Consulta por time que possuem mais de 45 titulos.
Select * from tb_clubes_futebol
         where ds_total_titulos > 45;
         
-- Consulta por times que o país é diferente de Brasil.
Select * from tb_clubes_futebol where nm_pais <> 'Brasil';

-- Consulta por times que a capacidade do estadio for maior que 40 mil.
Select * from tb_clubes_futebol where qtd_capacidade_estadio > 40000;
```

## Modelagem 4: Músicas.
> Create Script
```sql=
create table tb_musica (
 id_musica         int primary key auto_increment,
 nm_nome           varchar(100),
 nm_artista        varchar(100),
 nm_album          varchar(100),
 ds_genero         varchar(100),
 ds_duracao        time,
 qtd_likes         int,
 qtd_views         int,
 dt_lancamento     date
);
```

> Insert Script
```sql=
Insert into tb_musica(nm_nome, nm_artista, nm_album, ds_genero, ds_duracao, qtd_likes, qtd_views, dt_lancamento)
	values ('Vida Loka part 1', 'Racionais MCs','Mil Trutas Mil Tretas','RAP','03:22', 43000, 4525242, '2002-04-26'),
               ('Eu sou 157', 'Racionais MCs','Mil Trutas Mil Tretas', 'RAP',
'07:17', 152000, 17850069, '2002-04-26'),
		('OITAVO ANJO', '509-E', 'Provérbios 13', 'RAP', '06:30', 36000, 2312474, '2001-06-25');
```

> Select Script
```sql=
-- Consulta por músicas que no nome não tenha a letra A.
select * from tb_musica where nm_nome not like '%A%';

-- Consulta por músicas onde os likes são maiores que 100 mil e views maior que 10 milhões.
select * from tb_musica where qtd_likes > 100000 and qtd_views > 10000000;

-- Consulta por músicas onde a data de lançamento foi depois dos anos 2000.
select * from tb_musica where dt_lancamento > '2000-01-01';
```


## Modelagem 5: Concessionária

> Create script
```sql= 
create table tb_Concessionária (
id_Carros		int primary key auto_increment,
nm_Modelo		varchar(100),
nm_Marca  		varchar(100),
dt_AnoFabricacao       date,
dt_AnoModelo		date,
bt_DirecaoHidra        bool,
bt_ArCondicionado      bool,
nr_Kilometragem        int,
vl_preco		int,
ds_cor 			varchar(20)  
);
```

> Insert script
```sql=
insert into tb_Concessionária (nm_Modelo, nm_Marca, dt_AnoFabricacao, dt_AnoModelo, bt_DirecaoHidra, bt_ArCondicionado, nr_Kilometragem, vl_preco, ds_cor)
	 values ('GM - CHEVROLET OPALA COMODORO/COMOD. SLE 4.1/2.5', 'GM - CHEVROLET', '1975-01-01', '1975-01-01', true, false, 52053, 45000, 'Amarelo'),
     		('GM - CHEVROLET OPALA CARAVAN L/SL/SS/ 2.5/4.1', 'GM - CHEVROLET', '1975-01-01', '1975-01-01', true, false, 102577, 26000, 'Preto'),
               ('LAND ROVER RANGE ROVER SPORT SE 2.7 190CV TB DIESEL', 'LAND ROVER', '2020-01-01', '2019-01-01', true, true, 40000, 540000, 'Preto');
```

> Select script
```sql=
-- Consulta por marca de carros da GM - CHEVROLET com direção hidraulica.
select * from tb_Concessionária
 where nm_marca = 'GM - CHEVROLET'
   and bt_DirecaoHidra = true;
   
-- Consulta por número de kilometragem de carros menor que 55 mil. 
 select * from tb_Concessionária 
  where nr_Kilometragem < 55000;
```

## Modelagem 6: Computador

> Create script
```sql=
create table tb_Computador (
id_Computador		int primary key auto_increment,
nm_Marca		varchar(50),
nm_Processador  	varchar(50),
nr_MemoriaRAM		int,
nr_Armazenamento	int,
nm_SO			varchar(50),
bt_VemComOffice	bool,
nr_TamanhoTela		int,
vl_preco		decimal(8,2)  
);
```

> Insert script

```sql=
insert into tb_Computador (nm_Marca, nm_Processador, nr_MemoriaRAM, nr_Armazenamento, nm_SO, bt_VemComOffice, nr_TamanhoTela, vl_preco)
	 values ('PICHAU GAMER', 'AMD RYZEN 7 5800X', 128, 1000, 'Linux', false, 29, 17030.64),
     		('T-GAMER Poseidon', 'AMD Ryzen 7 5800X', 256, 1000, 'Linux', false, 29, 19705.73),
               ('T-GAMER Odin', 'Intel i7 10700KF', 256, 1000, 'Windows', true, 22, 9354.40);
```

> Select script

```sql=
-- Consulta por nomes de Sistemas Operacionais que sejam linux e com o preço por ordem decrescente.
select * from tb_Computador
 where nm_SO = 'Linux'
 Order by vl_preco desc;

-- Consulta por Memorias RAM que sejam maior ou igual a 256GB e que venham com Office.
select * from tb_Computador
 where nr_MemoriaRAM >= 256
   and bt_VemComOffice = true;
```
