***NOME*** João Gabriel Camargo Ramos ***TURMA*** INFO C ***NUMERO*** 23 # ado ado ado é o banco de dados ## SELECTS: PARTE 1 ```sql= -- EXERCÍCIO 01 SELECT c.nm_categoria, p.nm_produto, p.vl_preco FROM tb_categoria c INNER JOIN tb_produto p ON p.id_categoria = c.id_categoria WHERE c.nm_categoria = "Infantil" ORDER BY c.nm_categoria, p.nm_produto; -- EXERCÍCIO 02 SELECT c.nm_categoria, p.nm_produto, p.vl_preco, e.qtd_minima, e.qtd_disponivel FROM tb_categoria c INNER JOIN tb_produto p ON p.id_categoria = c.id_categoria INNER JOIN tb_estoque e ON e.id_produto = p.id_produto WHERE e.qtd_disponivel < e.qtd_minima ORDER BY c.nm_categoria, p.nm_produto; -- EXERCÍCIO 03 SELECT c.nm_categoria, p.nm_produto, p.vl_preco, e.qtd_minima, e.qtd_disponivel FROM tb_categoria c INNER JOIN tb_produto p ON p.id_categoria = c.id_categoria INNER JOIN tb_estoque e ON e.id_produto = p.id_produto WHERE c.nm_categoria NOT LIKE '%A%' AND p.nm_produto LIKE 'B%' ORDER BY p.vl_preco DESC; -- EXERCÍCIO 04 SELECT cl.nm_cliente, cl.ds_cpf, ed.ds_cep, ed.ds_endereco, ed.nr_endereco, ed.ds_cidade FROM tb_cliente cl INNER JOIN tb_endereco ed ON ed.id_endereco = cl.id_endereco WHERE cl.nm_cliente LIKE '%O%' AND ed.ds_cidade = "Salvador" ORDER BY ed.ds_cidade; -- EXERCÍCIO 05 SELECT v.id_venda, v.dt_venda, cl.nm_cliente, v.ds_nota_fiscal, v.tp_forma_pagamento, ed.ds_endereco, ed.nr_endereco FROM tb_venda v INNeR JOIN tb_cliente cl on cl.id_cliente = v.id_cliente INNER JOIN tb_endereco ed ON ed.id_endereco = cl.id_endereco WHERE v.dt_venda BETWEEN '2020-10-02' AND '2020-12-01' ORDER BY v.id_venda; -- EXERCÍCIO 06 SELECT v.id_venda, v.dt_venda, cl.nm_cliente, v.ds_nota_fiscal, v.tp_forma_pagamento, ed.ds_endereco, ed.nr_endereco FROM tb_venda v inner join tb_cliente cl on cl.id_cliente = v.id_cliente INNER JOIN tb_endereco ed ON ed.id_endereco = cl.id_endereco WHERE cl.nm_cliente LIKE '%B%' or v.ds_nota_fiscal like 'NF9%' ORDER BY v.id_venda; -- EXERCÍCIO 07 SELECT v.id_venda, v.dt_venda, cl.nm_cliente, v.ds_nota_fiscal, v.tp_forma_pagamento, ed.ds_endereco, ed.nr_endereco FROM tb_venda v inner join tb_cliente cl on cl.id_cliente = v.id_cliente INNER JOIN tb_endereco ed ON ed.id_endereco = cl.id_endereco WHERE ed.ds_endereco LIKE '%E%' AND v.dt_venda BETWEEN '2020-01-01' and '2020-03-01' ORDER BY v.id_venda; -- EXERCÍCIO 08 SELECT v.id_venda, v.dt_venda, cl.nm_cliente, v.ds_nota_fiscal, ed.ds_endereco, ed.nr_endereco, p.nm_produto, p.vl_preco from tb_venda_item vi INNER JOIN tb_venda v on v.id_venda = vi.id_venda_item inner join tb_produto p on p.id_produto = vi.id_produto inner join tb_endereco ed on v.id_endereco_entrega = ed.id_endereco inner join tb_cliente cl on cl.id_cliente = v.id_cliente inner join tb_categoria c on c.id_categoria = p.id_categoria where v.id_venda > 50 OR v.ds_nota_fiscal like '%0' ORDER by v.id_venda; -- EXERCÍCIO 09 SELECT v.id_venda, v.dt_venda, cl.nm_cliente, v.ds_nota_fiscal, ed.ds_endereco, ed.nr_endereco, p.nm_produto, p.vl_preco from tb_venda_item vi INNER JOIN tb_venda v on v.id_venda = vi.id_venda_item inner join tb_produto p on p.id_produto = vi.id_produto inner join tb_cliente cl on cl.id_cliente = v.id_cliente inner join tb_endereco ed on v.id_endereco_entrega = ed.id_endereco inner join tb_categoria c on c.id_categoria = p.id_categoria where v.dt_venda > '2021-01-01' ORDER by v.id_venda; -- EXERCÍCIO 10 SELECT p.nm_produto, c.nm_categoria, p.vl_preco FROM tb_venda_item vi inner join tb_produto p on vi.id_produto = p.id_produto inner join tb_venda v on v.id_venda = vi.id_venda inner join tb_categoria c on p.id_categoria = c.id_categoria where v.dt_venda > '2020-10-01' GROUP by p.nm_produto order by p.nm_produto; ``` ## SELECTS: PARTE 2 ```sql= -- EXERCÍCIO 11 SELECT p.id_produto, p.nm_produto, c.nm_categoria, p.vl_preco FROM tb_produto p inner join tb_categoria c on c.id_categoria = p.id_categoria where p.id_produto not in (SELECT id_produto from tb_venda_item); -- EXERCÍCIO 12 SELECT c.id_categoria, c.nm_categoria FROM tb_produto p RIGHT JOIN tb_categoria c on c.id_categoria = p.id_categoria WHERE p.id_produto is null; -- EXERCÍCIO 13 SELECT cl.id_cliente, cl.nm_cliente, cl.ds_cpf from tb_cliente cl left join tb_endereco ed on ed.id_endereco = cl.id_endereco where ed.ds_endereco is null; -- EXERCÍCIO 14 SELECT v.id_venda, v.dt_venda, cl.nm_cliente, v.ds_nota_fiscal, ed.ds_endereco, ed.nr_endereco, p.nm_produto, p.vl_preco from tb_venda_item vi INNER JOIN tb_venda v on v.id_venda = vi.id_venda_item inner join tb_produto p on p.id_produto = vi.id_produto left join tb_cliente cl on cl.id_cliente = v.id_cliente inner join tb_endereco ed on v.id_endereco_entrega = ed.id_endereco inner join tb_categoria c on c.id_categoria = p.id_categoria where nm_cliente is null; ``` ## SELECTS: PARTE III ```sql= -- EXERCÍCIO 15 SELECT v.id_venda, COUNT(vi.id_venda_item) as qtd_itens FROM tb_venda_item vi INNER join tb_venda v on v.id_venda = vi.id_venda GROUP BY v.id_venda; -- EXERCÍCIO 16 SELECT v.id_venda, COUNT(vi.id_venda_item) as qtd_itens, SUM(p.vl_preco) as vl_total_venda from tb_venda_item vi inner join tb_venda v on v.id_venda = vi.id_venda INNER JOIN tb_produto p ON p.id_produto = vi.id_produto group by v.id_venda; -- EXERCÍCIO 17 SELECT v.id_venda, v.dt_venda, cl.nm_cliente, COUNT(vi.id_venda_item) as qtd_itens, SUM(p.vl_preco) as vl_total_venda from tb_venda_item vi inner JOIN tb_venda v on v.id_venda = vi.id_venda inner join tb_produto p on p.id_produto = vi.id_produto inner JOIN tb_cliente cl on cl.id_cliente = v.id_cliente GROUP by v.id_venda, v.dt_venda, cl.nm_cliente; -- EXERCÍCIO 18 SELECT v.id_venda, v.dt_venda, cl.nm_cliente, COUNT(vi.id_venda_item) as qtd_itens, SUM(p.vl_preco) as vl_total_venda from tb_venda_item vi inner JOIN tb_venda v on v.id_venda = vi.id_venda inner join tb_produto p on p.id_produto = vi.id_produto inner JOIN tb_cliente cl on cl.id_cliente = v.id_cliente GROUP by v.id_venda, v.dt_venda, cl.nm_cliente having SUM(p.vl_preco) > 1000; -- EXERCÍCIO 19 SELECT ed.ds_cidade, COUNT(vi.id_venda_item) as qtd_itens, SUM(p.vl_preco) as vl_total_venda from tb_venda_item vi inner JOIN tb_venda v on v.id_venda = vi.id_venda inner join tb_produto p on p.id_produto = vi.id_produto inner JOIN tb_endereco ed on ed.id_endereco = v.id_endereco_entrega GROUP by ed.ds_cidade; -- EXERCÍCIO 20 SELECT p.id_produto, p.nm_produto, c.nm_categoria, p.vl_preco, count(vi.id_venda_item) as qtd_vendas from tb_venda_item vi inner join tb_produto p on p.id_produto = vi.id_produto inner join tb_categoria c on c.id_categoria = p.id_categoria GROUP BY p.id_produto, p.nm_produto, c.nm_categoria, p.vl_preco ORDER BY COUNT(vi.id_venda_item) DESC; ``` ## SELECTS: DESAFIO MONSTER ```sql= -- DESAFIO MONSTER SELECT id_rank, cl.id_cliente, cl.nm_cliente, cl.ds_cpf, count(vi.id_venda_item) as qtd_compras from tb_venda_item vi inner join tb_produto p on p.id_produto = vi.id_produto inner join tb_categoria c on c.id_categoria = p.id_categoria inner join tb_venda v on v.id_venda = vi.id_venda inner join tb_cliente cl on cl.id_cliente = v.id_cliente group by cl.id_cliente, cl.nm_cliente, cl.ds_cpf ORDER by count(vi.id_venda_item) DESC limit 5; ```
{"metaMigratedAt":"2023-06-16T03:27:47.934Z","metaMigratedFrom":"Content","title":"ado ado ado é o banco de dados","breaks":true,"contributors":"[{\"id\":\"b186730d-b9e4-4a77-8f97-f67305b05247\",\"add\":9361,\"del\":28}]"}
Expand menu