# Final Session: It's all or nothing: Super Bônus | SQL autor: Guilherme de Oliveira Ribeiro, 10, Info-D ## 1. Modelagem Catálogo Google Play > Create script ```sql= CREATE TABLE tb_Catalogo_GooglePlay ( id_GooglePlay int primary key auto_increment, nm_Nome varchar (100), ds_Genero varchar(100), bt_Disponivel_AppleStore bool, bt_Disponível_GooglePlay bool, dt_Ultima_Atualização date, ds_Tamanho varchar (100), nm_Criador varchar (100), vl_avaliacao decimal(15,2), qtd_Total_Downloads varchar (100) ); ``` > Insert script ```sql= INSERT INTO tb_Catalogo_GooglePlay (nm_Nome, ds_Genero, bt_Disponivel_AppleStore, bt_Disponível_GooglePlay, dt_Ultima_Atualização, ds_Tamanho, nm_Criador, vl_avaliacao, qtd_Total_Downloads) VALUES ('Angry Birds', 'Jogos Arcade/Casual', true, false, '2021-3-31', '89 MB', 'Jaakko lisalo', 4.2, '100.000.00'), ('Pokémon GO', 'Jogos baseados em localização/rpg virtual', true, false, '2016-4-6', '30 MB', 'Niantic, Inc.', 4.1, '100.000.000'), ('Kwai', 'Reprodutor e editor de vídeos', true, true, '2020-3-10', '54 MB', 'Su Hua e Cheng Yixiao', 4.4, '100.000.000'), ('Netflix', 'Plataforma para ver filmes e séries', true, true, '2021-4-7', '18 MB', 'Reed Hastings e Marc Randolph', 4.4, '1.000.000.000'), ('Disney+', 'Plataforma para ver filmes e séries', true, true, '2021-3-28', '14 MB', 'Walt Disney Company', 4.3, '100.000.000'), ('Among us', 'Jogos casuais', true, true, '2021-4-12', '114 MB', 'InnerSloth', 3.4, '100.000.000'), ('8 Ball Pool', 'Jogos de esporte', true, true, '2021-4-12', '90 MB', 'Robert Small', 4.4, '500.000.000'), ('Mercado Livre', 'Apps de compras', true, true, '2021-3-25', '18 MB', 'Marcos Galperin', 4.8, '100.000.000'), ('Spotify', 'Música e podcasts', true, false, '2021-4-12', '28 MB', 'Daniel Ek e Martin Lorentzon', 4.4, '500.000.000'), ('Candy Crush Saga', 'Jogos casuais', true, true, '2021-4-9', '69 MB', 'King', 4.6, '1.000.000.000'); ``` > Select script ```sql= -- Selecionar somente os apps que começam com A ou I SELECT * FROM tb_Catalogo_GooglePlay WHERE nm_Nome LIKE 'A%' OR nm_Nome LIKE 'I%'; -- Mostrar apps com avaliações entre 4 e 5 SELECT * FROM tb_Catalogo_GooglePlay WHERE vl_avaliacao BETWEEN 4 AND 5; -- Selecionar os apps disponíveis na google play e na play store SELECT * FROM tb_Catalogo_GooglePlay WHERE bt_Disponível_GooglePlay = true AND bt_Disponivel_AppleStore = true; -- Mostrar os apps que tenham menos de 100 MB de tamanho SELECT * FROM tb_Catalogo_GooglePlay WHERE ds_Tamanho < '100 MB'; -- Selecionar e ordenar por total de downloads SELECT * FROM tb_Catalogo_GooglePlay ORDER BY qtd_Total_Downloads; -- Selecionar apps que começam com a letra A ou que tenham mais de 50 MB de tamanho SELECT * FROM tb_Catalogo_GooglePlay WHERE nm_Nome LIKE 'A%' OR ds_Tamanho > '50 MB' -- Ordenar por data da ultima atualização SELECT * FROM tb_Catalogo_GooglePlay ORDER BY dt_Ultima_Atualização -- Selecionar jogos casuais SELECT * FROM tb_Catalogo_GooglePlay WHERE ds_Genero = 'Jogos casuais'; -- Selecionar todos os apps que tenham uma avaliação maior do que 4 e que estejam disponíveis na google play SELECT * FROM tb_Catalogo_GooglePlay WHERE vl_avaliacao > 4 AND bt_Disponível_GooglePlay = true; -- Selecionar jogos com mais de 100.000.000 ou que tenham menos de 70 MB de tamanho SELECT * FROM tb_Catalogo_GooglePlay WHERE qtd_Total_Downloads > '100.000.000' OR ds_Tamanho < '70 MB'; ``` ## 2. Modelagem Catálogo Google Play > Create script ```sql= CREATE TABLE tb_Países ( id_Países int primary key auto_increment, nm_Nome varchar (100), nm_Sigla varchar (100), qtd_População varchar (100), qtd_Área varchar (100), dt_Aniversário date, qtd_PIB varchar(100), nm_Continente varchar(100), nm_Capital varchar (100), nm_Idioma varchar (100) ); ``` > Insert script ```sql= INSERT INTO tb_Países ( nm_Nome, nm_Sigla, qtd_População, qtd_Área, dt_Aniversário, qtd_PIB, nm_Continente, nm_Capital, nm_Idioma) VALUES ( 'India', 'IN', '1.366 bilhão', '3.287.000 km²', '1950-1-26', '2.869 trilhões', 'Asia', 'Nova Delhi', 'Hindi/Inglês'), ('Rússia', 'RU', '144.4 milhões', '17.130.000 km²', '1945-5-9', '379.8 trilhão', 'Europa/Asia', 'Moscou', 'Russo'), ('Canadá', 'CA', '37.59 milhões', '9.985.000 km²', '1982-7-1', '1.736 trilhão', 'América do Norte', 'Ottawa', 'Francês/Inglês'), ('Inglaterra', 'ENG', '55.98 milhões', '130.279 km²', '1907-4-21', '2.744 trilhões', 'Europa', 'Londres', 'Inglês'), ('Espanha', 'ES', '46.94 milhões', '505.990 km²', '1492-10-12', '1.393 trilhão', 'Europa/África', 'Madrid', 'Espanhol'), ('Nova Zelândia', 'NZ', '4.917 milhões', '268.021 km²', '1907-9-26', '206.9 bilhões', 'Oceania', 'Wellington', 'Inglês/ Língua de sinais da nova zelândia'), ('França', 'FR', '67.06 milhões', '643.801 km²', '1824-11-28', '2.716 trilhões', 'Europa', 'Paris','Francês'), ('Alemanha', 'DE', '83.02 milhões', '357.386 km²', '1897-1-18', '3.861 trilhões', 'Europa', 'Berlim', 'Alemão'), ('China', 'CN', '1.398 bilhão', '9.597.000 km²', '1409-5-18', '14.34 trilhões', 'Ásia', 'Pequim', 'Mandarim'), ('Japão', 'JP', '126.3 milhões', '377.915 km²', '1390-8-12', '5.082 trilhões', 'Ásia', 'Tóquio', 'Japonês'); ``` ## 3. Modelagem Clube Futebol > Create script ```sql= CREATE TABLE tb_Clube_futebol ( id_Clube int primary key auto_increment, dt_Fundação date, nm_Nome_Clube varchar(100), nm_Presidente varchar(100), nm_Sigla varchar(100), qtd_Total_títulos varchar(100), nm_País varchar(100), nm_Cidade varchar(100), nm_Estádio varchar(100), qtd_Capacidade_Estádio varchar(100) ); ``` > Insert script ```sql= VALUES ('1912-4-30', 'América Futebol Clube (Belo Horizonte) ', ' Alencar da Silveira Júnior', 'AFC', 2, 'Brasil', 'Belo Horizonte', 'Arena Independência', '100.024'), ('1979-5-12', 'Sport Club Rio Grande', 'Johannes Minnemann', 'SCRG', 3, 'Brasil', 'Porto Alegre', 'Estádio Beira-Rio', '110.21'), ('1913-6-29', 'Esporte Clube Juventude', 'Antonio Araujo de Freitas', 'ECJ', 4, 'Brasil', 'Rio Grande do Sul', 'Estádio Alfredo Jaconi', '109.34'), ('1945-8-31', 'Club Esporte Salvador', 'José da Silva Freitas', 'CES', 2, 'Brasil', 'Salvador', 'Complexo Esportivo Cultural Octávio Mangabeira', '108.122'), ('1906-7-9', 'Esporte Clube Ypiranga', 'Valdemar Filho', 'ECY', 10, 'Brasil', 'Ipiranga', ' Estádio Olímpico Colosso da Lagoa', '30.000'), ('1998-7-16', 'Associação Atlética Ponte Preta', 'Rodrigo Santana', 'AAPP', 18, 'Brasil', 'Campinas', 'Estádio Moisés Lucarelli', '115.780'), ('1980-6-14', 'Sport Center Club National', 'Carlos Eduardo Rodrigues', 'SCCN', 10, 'Brasil', 'São Paulo', 'Estádio Rungrado Primeiro de Maio', '114.000'), ('1902-07-21', 'Fluminense Football Club', 'Mário Bittencourt', 'FLU', 35, 'Brasil', 'Rio de Janeiro', 'Maracanã', '78.639'), ('1905-5-13', 'Sport Club do Recife', 'Milton Bivar', 'SCF', 45, 'Brasil', 'Recife', 'Estádio Adelmar da Costa Carvalho', '35.020'), ('1902-9-13', 'Esporte Clube Vitória', 'Paulo Carneiro', 'ECV', 48, 'Brasil', 'São Paulo', 'Estádio Manoel Barradas', '34.535'); ``` > Insert script ```sql= -- Mostrar clubes de futebol onde a capacidade do estádio seja maior ou igual a 100.000 SELECT * FROM tb_Clube_futebol WHERE qtd_Capacidade_Estádio >= '100.000' -- Mostrar todas as cidades que começam com B ou S SELECT * FROM tb_Clube_futebol WHERE nm_Cidade LIKE 'B%' WHERE nm_Cidade LIKE 'S%'; -- Ordenar por total de títulos SELECT * FROM tb_Clube_futebol ORDER BY qtd_Total_títulos ASC; -- Ordenar por data de fundação SELECT * FROM tb_Clube_futebol ORDER BY dt_Fundação DESC; -- Selecionar onde a data de fundação tenha o numero do mes maior que o numero do dia SELECT * FROM tb_Clube_futebol WHERE month(dt_Fundação) > day(dt_Fundação); -- Selecionar onde a sigla comece com C ou S SELECT * FROM tb_Clube_futebol WHERE nm_Sigla LIKE 'C%' OR nm_Sigla LIKE 'S%'; -- Selecionar e ordenar os clubes fundados antes de 2005 SELECT * FROM tb_Clube_futebol WHERE dt_Fundação < '2005-01-01' ORDER BY dt_Fundação DESC; -- Selecionar se o nome do presidente do clube começar com A ou se a Capacidade do estádio for maior do que 30.000 SELECT * FROM tb_Clube_futebol WHERE nm_Presidente LIKE 'A%' OR qtd_Capacidade_Estádio > '30.000'; -- Selecionar por total de titulos e por data de fundação SELECT * FROM tb_Clube_futebol WHERE qtd_Total_títulos > 20 AND dt_Fundação < '1930-3-18' -- Selecionar clubes que começam com A ou E SELECT * FROM tb_Clube_futebol WHERE nm_Nome_Clube LIKE 'A%' OR nm_Nome_Clube LIKE 'E%'; ``` ## 4. Modelagem Música > 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), dt_Lançamento date, qtd_Total_Views varchar (100), qtd_Total_Likes varchar (100), ds_Duração varchar (100) ); ``` > Insert script ```sql= INSERT INTO tb_Musica (nm_Nome, nm_Artista, nm_Album, ds_Genero, dt_Lançamento, qtd_Total_Views, qtd_Total_Likes, ds_Duração) VALUES ('Warriors', 'Imagine dragons', 'Smoke + Mirrors', 'Rock alternativo', '2014-9-18', '27.740.565', '326 mil', '2:51 min'), ('We are the heores of our time', 'DragonForce', 'Ultra Beatdown', ' Rock progressivo/Metal progressivo', '2008-10-15', '38.783.822', '338 mil', '3:10 min'), ('I found the love', 'Ed Sheeran', 'Talk That Talk', 'Pop/Romantica', '2011-9-22', '2.811.075.716', '15 mil', '4:39 min'), ('Hello darkness my old friend', ' Simon & Garfunkel, Garfunkel, Simon', 'Wednesday Morning, 3 A.M.', 'Folk', '1964-8-15', '20.351.625', '310 mil', '3:05 min'), ('Play with fire', 'Sam Tinnesz', 'Babel: The Ruins', 'Alternativa/Indie', '2016-11-1', '52.429.695', '618 mil', '2:59 min'), ('Careless whisper', 'George Michael', 'Careless Whisper', 'Pop', '1984-8-14', '687.508.093', '4,1 mil', '5:01 min'), ('Hopeful', 'Bars e Melody', '143', 'Pop/rap','2015-7-8', '139.312.842', '2,5 mil', '2:57 min'), ('Monster', 'Skillet', 'Awake', 'Metal progressivo', '2010-3-12', '344.985.367 ', '2,5 mil', '3:06 min'), ('Fight back', 'NEFFEX', 'Fight Back: The Collection', 'Hip-Hop/rap', '2018-11-13', '144.051.795', '2,3 mil', '3:16 min'), ('King', 'Lauren Aquilina', 'Fools', 'Pop', '2012-3-14', '9.956.610', '180 mil', '3:57 min'); ``` > Select script ```sql= -- Ordenar músicas lançadas antes de 2011 SELECT * FROM tb_Musica WHERE dt_Lançamento < '2010-12-31' ORDER BY dt_Lançamento ASC; -- Selecionar e ordenar somente as musicas com mais de 30.000.000 views SELECT * FROM tb_Musica WHERE qtd_Total_Views > '30.000.000' ORDER BY qtd_Total_Views DESC; -- Mostrar as musicas que possuem mais de 300 mil vizualizações SELECT * FROM tb_Musica WHERE qtd_Total_Likes > '300 mil' -- Selecionar as musicas que começam com a letra W ou que tenham menos de 50 mil vizualizações SELECT * FROM tb_Musica WHERE nm_Nome LIKE 'A%' OR qtd_Total_Views < '50 mil'; -- Mostrar musicas que o nome do artista com a letra S ou que tenha mais de 400 mil likes SELECT * FROM tb_Musica WHERE nm_Artista LIKE 'S%' OR qtd_Total_Likes > '400 mil'; -- Selecionar e ordenar musicas do genero Pop pela data de lançamento SELECT * FROM tb_Musica WHERE ds_Genero = 'Pop' ORDER BY dt_Lançamento DESC; -- Selecionar musicas com mais de 10.000.000 vizualizações e com mais de 100 mil likes SELECT * FROM tb_Musica WHERE qtd_Total_Views > '10.000.000' AND qtd_Total_Likes > '100 mil' -- Mostrar as musicas que começam com a letra C ou que tenham sido lançadas depois de 2005 SELECT * FROM tb_Musica WHERE nm_Nome LIKE 'C%' OR dt_Lançamento > '2005-1-1' -- Mostrar musicas com mais de 3 minutos de duração SELECT * FROM tb_Musica WHERE ds_Duração > '3:00 min'; -- Selecionar musicas do genero rap ou que tenham mais de 120 mil likes SELECT * FROM tb_Musica WHERE ds_Genero = 'rap' OR qtd_Total_Likes > '120 mil'; ``` ## 5. Modelagem Concessionária > Create script ```sql= CREATE TABLE tb_Concessionária ( id_Concessaionária int primary key auto_increment, nm_Modelo varchar (100), nm_Marca varchar (100), dt_Ano_de_Fabricação date, dt_Ano_Modelo date, bt_Possui_Direção_Hidráulica bool, bt_Possui_Ar_Condicionado bool, qtd_Kilometragem varchar (100), vl_Preço decimal (15,3), ds_Cor varchar (100) ); ``` > Insert script ```sql= INSERT INTO tb_Concessionária (nm_Modelo, nm_Marca, dt_Ano_de_Fabricação, dt_Ano_Modelo, bt_Possui_Direção_Hidráulica, bt_Possui_Ar_Condicionado, qtd_Kilometragem, vl_Preço, ds_Cor) VALUES ('Argo', 'Fiat', '2020-4-20', '2021-3-4', true, true, '377.523 km', 53.990, 'Prata'), ('Onix', 'Chervrolet', '2018-2-28', '2019-8-1', false, true, '35.046 km', 39.990, 'Cinza'), ('Civic', 'Honda', '2020-2-8', '2021-2-3', false, true, '4.000 km', 199.000, 'Vermelho'), ('Fiesta', 'Ford', '2015-4-7', '2016-5-17', true, true, '44.100 km', 42.500, 'Branco'), ('Edge', 'Ford', '2010-4-20', '2011-3-12', true, false, '80.000 km', 45.000, 'Preto'), ('Kicks', 'Nissan', '2020-2-10', '2020-3-8', false, true, '7.054 km', 89.990, 'Branco'), ('Palio', 'Fiat', '2009-10-8', '2010-2-3', true, true, '90.000 km', 18.500, 'Prata'), ('Honda', 'City', '2012-10-19', '2013-10-4', false, false, '84.659 km', 39.990, 'Vermelho'), ('Tracker', 'Chevrolet', '2020-4-10', '2021-3-12', true, true, '1.400 km', 129.900, 'Azul'), ('Siena', 'Fiat', '2009-12-15', '2010-3-28', true, false, '121.000 km', 18.500, 'Cinza'); ``` > Select script ```sql= -- Seleecionar apenas os carros da fiat SELECT * FROM tb_Concessionária WHERE nm_Marca = 'Fiat'; -- Mostrar carros com Direção hidráulica e Ar condicionado SELECT * FROM tb_Concessionária WHERE bt_Possui_Direção_Hidráulica = true AND bt_Possui_Ar_Condicionado = true; -- Selecionar apenas os carros vermelhos SELECT * FROM tb_Concessionária WHERE ds_Cor = 'Vermelho'; -- Mostrar carros que custam menos de 50.000 SELECT * FROM tb_Concessionária WHERE vl_Preço < 50.000 -- Mostrar os carros que não posssuem direção hidráulica SELECT * FROM tb_Concessionária WHERE bt_Possui_Direção_Hidráulica = false; -- Selecionar os carros que o modelo começa com a letra C ou que sejam brancos SELECT * FROM tb_Concessionária WHERE nm_Modelo LIKE 'C%' OR ds_Cor = 'Branco' -- Ordenar por data de fabricação SELECT * FROM tb_Concessionária ORDER BY dt_Ano_de_Fabricação DESC; -- Mostrar carros que possuem Kilometragem menor que 50.000 km SELECT * FROM tb_Concessionária WHERE qtd_Kilometragem < '50.000 km'; -- Mostrar carros da Chevrolet ou que tenham ar-condicionado SELECT * FROM tb_Concessionária WHERE nm_Marca = 'Chevrolet' OR bt_Possui_Ar_Condicionado = true; -- Ordenar carros que custam mais de 40.000 pelo preço SELECT * FROM tb_Concessionária WHERE vl_Preço > '40.000' ORDER BY vl_Preço; ``` ## 6. Modelagem Computador > Create script ```sql= CREATE TABLE tb_Computador ( id_Computador int not null primary key auto_increment, nm_Marca varchar(100), nm_Processador varchar(100), nm_Sistema_Operacional varchar(100), ds_Memoria_RAM varchar(100), ds_Armazenamento varchar(100), ds_Tamanho varchar(100), bt_Office bool not null ); ``` > Insert script ```sql= INSERT INTO tb_Computador (nm_Marca, nm_Processador, nm_Sistema_Operacional, ds_Memoria_RAM, ds_Armazenamento, ds_Tamanho, bt_Office) VALUES ('Positivo', 'Intel i5 3570K', 'Windows 8', '8 GB', '4tb', 'Altura: 390 mm, Largura: 420 mm', false), ('Samsung' , 'Intel Core i3-10110U', 'Windows 10 Home', '4 GB', '7tb', 'Altura: 400 mm, Largura: 470 mm', true), ('Lenovo', 'Intel® Celeron Dual Core N4020', 'Windows 10 Home', '4 GB', '8tb', 'Altura: 407 mm, Largura: 509 mm', true), ('Lenovo', 'Intel® Core™ i7-10750H', 'Windows 10 Home', '16 GB', '1TB', 'Altura: 380 mm, Largura: 450 mm', true), ('LG', 'Intel Celeron', 'Windows 10 Home', ' 4 GB', '2TB', 'Altura: 320 mm, Largura: 500 mm', true), ('Dell', ' Intel® Core™ i5-1135G7', 'Windows 10 Home', '8 GB', '3TB', 'Altura: 407 mm, Largura: 509 mm', false), ('Dell', 'Intel Core i5', 'Windows 10 Home', '8 GB', '4TB', 'Altura: 445 mm, Largura: 512 mm', false), ('Samsung', 'Intel Pentium G5420', 'Windows 10 Pro', '4 GB', '6TB','Altura: 480 mm, Largura: 507 mm', false), ('Acer', 'Intel® Core™ i7-9750H', 'Windows 10 Pro', '16 GB', '1TB', 'Altura: 361 mm, Largura: 229 mm', false), ('Lenovo', 'Intel Core i3-10100', 'Windows 10 Pro', '4 GB', '2TB', 'Altura: 345 mm, Largura: 240 mm', true); ``` > Select script ```sql= -- Filtar pela Memoria RAM SELECT * FROM tb_Computador WHERE ds_Memoria_RAM > 5; -- Filtrar por marca SELECT * FROM tb_Computador WHERE nm_Marca IN ('Samsung'); -- Filtrar por sistema ou se possui pacote office SELECT * FROM tb_Computador WHERE nm_Sistema_Operacional = 'Windows 10 Home' OR bt_Office = true; -- Mostrar somente onde o nome do processdor possui a letra E SELECT * FROM tb_Computador WHERE nm_Processador LIKE 'E%'; -- Ordenar por memória RAM SELECT * FROM tb_Computador WHERE nm_Marca LIKE 'A%' ORDER BY ds_Memoria_RAM DESC; -- Selecionar pc da Samsung ou Lenovo SELECT * FROM tb_Computador WHERE nm_Marca = 'Samsung' OR nm_Marca = 'Lenovo'; -- Selecionar computador que não possui pacote office ou que tenha 8 GB de memória RAM SELECT * FROM tb_Computador WHERE bt_Office = false OR ds_Memoria_RAM = '8 GB'; -- Selecionar se o armazenamento tiver mais que 2tb e se o sistema operacional for windows pro SELECT * FROM tb_Computador WHERE ds_Armazenamento > '2tb' AND nm_Sistema_Operacional = 'Windows 10 Pro'; -- Selecionar pc da Acer ou que possua pacote office SELECT * FROM tb_Computador WHERE nm_Marca = 'Acer' OR bt_Office = true; ```
{"metaMigratedAt":"2023-06-15T22:44:32.058Z","metaMigratedFrom":"Content","title":"Final Session: It's all or nothing: Super Bônus | SQL","breaks":true,"contributors":"[{\"id\":\"c00b571e-1ed7-4304-885a-60df80e4ea6c\",\"add\":17724,\"del\":0}]"}
Expand menu