# Session Four: Query or not to Query? QUERY!!!! | Banco de Dados **Autor**: Vitório Trindade Santana **Número**: 50 **Turma**: Informática C [toc] ## Parte 1 ### Desafio 1 ```sql= SELECT C.NM_Categoria, P.NM_Produto, P.VL_Preco FROM TB_Produto P JOIN TB_Categoria C ON C.ID_Categoria = P.ID_Categoria WHERE C.NM_Categoria = "Eletrônicos" ORDER BY P.NM_Produto, C.NM_Categoria; ``` ### Desafio 2 ```sql= SELECT C.NM_Categoria, P.NM_Produto, P.VL_Preco, E.QTD_Minima, E.QTD_Disponivel FROM TB_Estoque E JOIN TB_Produto P ON P.ID_Produto = E.ID_Produto JOIN TB_Categoria C ON C.ID_Categoria = P.ID_Categoria WHERE E.QTD_Minima > E.QTD_Disponivel ORDER BY P.NM_Produto, C.NM_Categoria; ``` ### Desafio 3 ```sql= SELECT C.NM_Categoria, P.NM_Produto, P.VL_Preco, E.QTD_Minima, E.QTD_Disponivel FROM TB_Estoque E JOIN TB_Produto P ON P.ID_Produto = E.ID_Produto JOIN TB_Categoria C ON C.ID_Categoria = P.ID_Categoria WHERE C.NM_Categoria like 'Livra%' And P.NM_Produto like '%A%' ORDER BY P.VL_Preco DESC; ``` ### Desafio 4 ```sql= SELECT C.NM_Cliente, C.DS_Cpf, E.DS_Endereco, E.NR_Endereco, E.DS_Cidade FROM TB_Cliente C JOIN TB_Endereco E ON E.ID_Endereco = C.ID_Endereco WHERE C.NM_Cliente = 'Heloisa Isabela Barbosa' AND E.DS_Cidade = 'São Paulo' ORDER BY E.DS_Cidade; ``` ### Desafio 5 ```sql= SELECT V.ID_Venda, V.DT_Venda, C.NM_Cliente, V.DS_Nota_Fiscal, V.TP_Forma_Pagamento, E.DS_Endereco, E.NR_Endereco FROM TB_Venda V JOIN TB_Cliente C ON C.ID_Cliente = V.ID_Cliente JOIN TB_Endereco E ON E.ID_Endereco = C.ID_Endereco WHERE V.DT_Venda BETWEEN '2021-05-26' And '2021-07-28' ORDER BY V.ID_Venda; ``` ### Desafio 6 ```sql= SELECT V.ID_Venda, V.DT_Venda, C.NM_Cliente, V.DS_Nota_Fiscal, V.TP_Forma_Pagamento, E.DS_Endereco, E.NR_Endereco FROM TB_Venda V JOIN TB_Cliente C ON C.ID_Cliente = V.ID_Cliente JOIN TB_Endereco E ON E.ID_Endereco = C.ID_Endereco WHERE C.NM_Cliente = 'Carlos Marcos Costa' OR V.DS_Nota_Fiscal = '38723816' ORDER BY V.ID_Venda; ``` ### Desafio 7 ```sql= SELECT V.ID_Venda, V.DT_Venda, C.NM_Cliente, V.DS_Nota_Fiscal, V.TP_Forma_Pagamento, E.DS_Endereco, E.NR_Endereco FROM TB_Venda V JOIN TB_Cliente C ON C.ID_Cliente = V.ID_Cliente JOIN TB_Endereco E ON E.ID_Endereco = C.ID_Endereco WHERE V.DT_Venda = '2021-09-03' AND E.DS_Endereco = 'Rua Alfredo Corêa' ORDER BY V.ID_Venda; ``` ### Desafio 8 ```sql= SELECT V.ID_Venda, V.DT_Venda, Cl.NM_Cliente, V.DS_Nota_Fiscal, E.DS_Endereco, E.NR_Endereco, P.NM_Produto, C.NM_Categoria, P.VL_Preco FROM TB_Venda_Item VI JOIN TB_Venda V ON V.ID_Venda = VI.ID_Venda JOIN TB_Cliente Cl ON Cl.ID_Cliente = V.ID_Cliente JOIN TB_Endereco E ON E.ID_Endereco = Cl.ID_Endereco JOIN TB_Produto P ON P.ID_Produto = VI.ID_Produto JOIN TB_Categoria C ON C.ID_Categoria = P.ID_Categoria WHERE V.ID_Venda = 5 OR V.DS_Nota_Fiscal = '87163289' ORDER BY V.ID_Venda; ``` ### Desafio 9 ```sql= SELECT V.ID_Venda, V.DT_Venda, Cl.NM_Cliente, V.DS_Nota_Fiscal, E.DS_Endereco, E.NR_Endereco, P.NM_Produto, C.NM_Categoria, P.VL_Preco FROM TB_Venda_Item VI JOIN TB_Venda V ON V.ID_Venda = VI.ID_Venda JOIN TB_Cliente Cl ON Cl.ID_Cliente = V.ID_Cliente JOIN TB_Endereco E ON E.ID_Endereco = Cl.ID_Endereco JOIN TB_Produto P ON P.ID_Produto = VI.ID_Produto JOIN TB_Categoria C ON C.ID_Categoria = P.ID_Categoria WHERE V.DT_Venda = '2021-02-19' ORDER BY V.DT_Venda; ``` ### Desafio 10 ```sql= SELECT DISTINCT P.NM_Produto, C.NM_Categoria, P.VL_Preco FROM TB_Produto P JOIN TB_Categoria C ON C.ID_Categoria = P.ID_Categoria JOIN TB_Venda_Item VI ON VI.ID_Produto = P.ID_Produto JOIn TB_Venda V On V.ID_Venda = VI.ID_Venda WHERE V.DT_Venda = '2021-11-7' ORDER BY P.NM_Produto; ``` ## Parte 2 ### Desafio 11 ```sql= SELECT P.ID_Produto, P.NM_Produto, C.NM_Categoria, P.VL_Preco FROM TB_Produto P JOin TB_Categoria C ON C.ID_Categoria = P.ID_Categoria Where P.ID_Produto not in (SELECT ID_Produto FROM TB_Venda_Item); ``` ### Desafio 12 ```sql= 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; ``` ### Desafio 13 ```sql= SELECT C.ID_Cliente, C.NM_Cliente, C.DS_Cpf FROM TB_Cliente C LEFT JOin TB_Endereco E ON E.ID_Endereco = C.ID_Endereco Where C.ID_Endereco IS NULL; ``` ### Desafio 14 ```sql= SELECT V.ID_Venda, V.DT_Venda, Cl.NM_Cliente, V.DS_Nota_Fiscal, E.DS_Endereco, P.NM_Produto, C.NM_Categoria, P.VL_Preco FROM TB_Venda V LEFT JOIN TB_Cliente Cl ON V.ID_Cliente = Cl.ID_Cliente JOin TB_Endereco E ON E.ID_Endereco = V.ID_Endereco Join TB_Venda_Item VI ON VI.ID_Venda = V.ID_Venda Join TB_Produto P on P.ID_Produto = VI.ID_Produto join TB_Categoria C ON C.ID_Categoria = P.ID_Categoria Where V.ID_Cliente IS NULL; ``` ## Parte 3 ### Desafio 15 ```sql= SELECT V.ID_Venda, COUNT (VI.ID_Venda_Item) as Qtd_Itens From TB_Venda V join TB_Venda_Item VI on VI.ID_Venda = V.ID_Venda group by V.ID_Venda; ``` ### Desafio 16 ```sql= SELECT V.ID_Venda, COUNT (VI.ID_Venda_Item) as Qtd_Itens, Sum (P.VL_Preco) Total From TB_Venda V join TB_Venda_Item VI on VI.ID_Venda = V.ID_Venda join TB_Produto P on P.ID_Produto = VI.ID_Produto group by V.ID_Venda; ``` ### Desafio 17 ```sql= SELECT V.ID_Venda, V.DT_Venda, C.NM_Cliente, COUNT (VI.ID_Venda_Item) as Qtd_Itens, Sum (P.VL_Preco) VL_Total_Venda From TB_Venda V join TB_Venda_Item VI on VI.ID_Venda = V.ID_Venda join TB_Produto P on P.ID_Produto = VI.ID_Produto join TB_Cliente C on C.ID_Cliente = V.ID_Cliente group by V.ID_Venda, V.DT_Venda, C.NM_Cliente; ``` ### Desafio 18 ```sql= SELECT V.ID_Venda, V.DT_Venda, C.NM_Cliente, COUNT (VI.ID_Venda_Item) as Qtd_Itens, Sum (P.VL_Preco) VL_Total_Venda From TB_Venda V join TB_Venda_Item VI on VI.ID_Venda = V.ID_Venda join TB_Produto P on P.ID_Produto = VI.ID_Produto join TB_Cliente C on C.ID_Cliente = V.ID_Cliente group by V.ID_Venda, V.DT_Venda, C.NM_Cliente Having Sum (P.VL_Preco) > 1000; ``` ### Desafio 19 ```sql= SELECT E.DS_Cidade, COUNT (V.ID_Venda) as Qtd_Venda From TB_Venda V join TB_Endereco E on E.ID_Endereco = V.ID_Endereco group by E.DS_Cidade Having COUNT(V.ID_Venda) ORDER by Qtd_Venda DESC; ``` ### Desafio 20 ```sql= SELECT P.ID_Produto, P.NM_Produto, C.NM_Categoria, COUNT (VI.ID_Produto) as Qtd_Vendas From TB_Venda V join TB_Venda_Item VI on VI.ID_Venda = V.ID_Venda join TB_Produto P on P.ID_Produto = VI.ID_Produto join TB_Categoria C on C.ID_Categoria = P.ID_Categoria group by P.ID_Produto, P.NM_Produto, C.NM_Categoria Having COUNT (VI.ID_Produto) ORDER by Qtd_Vendas DESC; ``` ## Última parte ### Desafio MONSTER ```sql= SELECT DENSE_RANK() OVER (ORDER BY COUNT (V.ID_Cliente) DESC) as ID_Rank, V.ID_Cliente, C.NM_Cliente, C.DS_Cpf, COUNT (V.ID_Cliente) as Qtd_Compras From TB_Venda_Item VI JOin TB_Venda V on V.ID_Venda = VI.ID_Venda join TB_Cliente C on C.ID_Cliente = V.ID_Cliente group by V.ID_Cliente, C.NM_Cliente, C.DS_Cpf Order by COUNT(V.ID_Cliente) DESC limit 5; ```
{"metaMigratedAt":"2023-06-16T01:13:31.385Z","metaMigratedFrom":"Content","title":"Session Four: Query or not to Query? QUERY!!!! | Banco de Dados","breaks":true,"contributors":"[{\"id\":\"052c8e10-b233-429a-a1e0-0d8df7864830\",\"add\":8706,\"del\":390}]"}
Expand menu