---
# System prepended metadata

title: Super Bônus Sql

---

# Super Bônus Sql
autor: Lucas Bezerra Sampaio - info A
[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 ('clash royale', 'jogo', true, true, 'supercell', 300000000, 4.2, 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'),
       ('soccer stars', 'jogo', true, false, 'miniclip.com', 50000000, 4.2, 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          long,
  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'),
         ('Finlândia', 'FI', 5518000, '338.440 km²', '1917-12-06', '269,3 bilhões USD', 'Continente Europeu', 'Helsinque', 'Finlandês e Sueco'),
         ('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', 305, 'Andrés Rueda', 16899, 'Urbano Caldeira'),
     ('Clube Atlético Mineiro', 'CAM', 'Brasil', 'Minas Geriais', '1908-03-25', 100, 'Sérgio Coelho', 62000, 'Mineirão'),
     ('Futbol Club Barcelona', 'FCB', 'Espanha', 'Catalunha', '1889-11-29', 100, 'Joan Laporta', 99000, 'Camp Nou');
```

> Select Script
```sql=
-- Consulta por time que possuem mais de 300 titulos

Select * from tb_clubes_futebol
         where ds_total_titulos > 300;
         
-- 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 20 mil.

Select * from tb_clubes_futebol where qtd_capacidade_estadio > 20000;
```

## 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         long,
 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 ('Baby Shark', 'PinkFong','BabyShark Músicas','POP','02:16', 20000000, 8342645272, '2016-06-17'),
               ('Bohemian Rhapsody', 'Queen','A Night at the Opera', 'Rock',
'05:54',8800000,1000000000,'1975-11-21'),
		('The Nights', 'Avicii', 'The Nights', 'Eletrônica', '03:10', 6300000, 600000000, '2014-12-15');
```
> 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 2 milhões e views maior que 100 milhões

select * from tb_musica where qtd_likes > 2000000 and qtd_views > 100000000;

-- 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: Modelagem Concessionária
> Create Script
```sql=
create table tb_carro (
id_carro              int primary key auto_increment,
nm_modelo                        varchar(100),
nm_marca                         varchar(100),
dt_ano_fabricacao                date,
dt_ano_modelo                    date,
ds_cor                           varchar(100),
vl_preco                         decimal(10,2),
ds_kilometragem                  int,
bt_possui_ar_condicionado        bool,
bt_possui_direcao_hidraulica     bool
);
```

>Insert Script
```sql=
insert into tb_carro  (nm_modelo, nm_marca, dt_ano_fabricacao, dt_ano_modelo, ds_cor, vl_preco, ds_kilometragem, bt_possui_ar_condicionado, bt_possui_direcao_hidraulica)
    Values
    ('corolla', 'toyota motor', '2021-01-01', '2010-10-28', 'preto', 1250000.00, 0, true, true),
    ('zafira', 'chevrolet', '2017-04-02', '2009-04-02', 'branco', 60000.00, 250, true, true);
    
```
> Select Script
```sql=
-- Consulta por carros que possuem direção hidráulica.
select * from tb_carro where
bt_possui_direcao_hidraulica = true;

-- Consulta por carros que possuem uma kilometragem maior ou igual a 200.

select * from tb_carro where
ds_kilometragem >= 200;
```

## Modelagem 6: Computadores 

> Create Script
```sql=
create table tb_computador (
 id_computador   int primary key auto_increment,
 vl_preco               decimal,
 ds_tamanho_monitor     decimal(10,1),
 bt_vem_com_office      bool,
 ds_sistema_operacional varchar(100),
 nm_marca               varchar(100),
 ds_processador         varchar(100),
 ds_memoria_ram         varchar(100),
 ds_armazenamento       int
 );
```

> Insert Script
```sql=
    Insert into tb_computador (vl_preco, ds_tamanho_monitor, bt_vem_com_office, ds_sistema_operacional, nm_marca, ds_processador, ds_memoria_ram, ds_armazenamento)
    Values
    (1756, 19.5, true, 'windows 10', 'positivo', 'intel i5 7° Geração', '4 gb de memório ram ddr3', 500),
    (1200, 11.6, true, 'Chrome OS', 'Samsung', 'Intel Dual Core', '4 gb de memória ram', 32),
    (4299, 15.6, true, 'Windows 10', 'Lenovo', 'Ryzen 7-3700U', '8 GB de ram ddr4', 580);
```

> Select Script
```sql=
-- Consulta por computador que a memória ram for maior que 4 e o armazenamento interno for maior ou igual a 500.

select * from tb_computador where
ds_memoria_ram > 4 and ds_armazenamento >= 500;

-- Consulta por computadores onde o preço for menor do que 1600 reais.

select*from tb_computador where
vl_preco < 1600;
```