# Session Four: | Banco de Dados Nome:Pedro Henrique Gomes De Oliveira Sardinha INFO-B Numero:41 [toc] ## PARTE 1 ````sql= SELECT NM_CATEGORIA, NM_PRODUTO, VL_PRECO FROM TB_CATEGORIA C JOIN TB_PRODUTO P ON C.ID_CATEGORIA = P.ID_CATEGORIA WHERE C.NM_CATEGORIA LIKE "Bebida" OR C.NM_CATEGORIA LIKE "Lanche" ORDER BY C.NM_CATEGORIA, P.NM_PRODUTO; ```` ### Desafio 2 ````sql= SELECT C.NM_CATEGORIA, P.NM_PRODUTO, P.VL_PRECO, E.QTD_MINIMA, E.QTD_DISPONIVEL FROM TB_PRODUTO P JOIN TB_CATEGORIA C ON C.ID_CATEGORIA = P.ID_CATEGORIA JOIN TB_ESTOQUE E ON P.ID_PRODUTO = E.ID_ESTOQUE WHERE E.QTD_DISPONIVEL < E.QTD_MINIMA ORDER BY C.NM_CATEGORIA, P.NM_PRODUTO; ```` ### Desafio 3 ````sql= SELECT C.NM_CATEGORIA, P.NM_PRODUTO, P.VL_PRECO, E.QTD_MINIMA, E.QTD_DISPONIVEL FROM TB_PRODUTO P JOIN TB_CATEGORIA C ON C.ID_CATEGORIA = P.ID_CATEGORIA JOIN TB_ESTOQUE E ON P.ID_PRODUTO = E.ID_ESTOQUE WHERE C.NM_CATEGORIA LIKE '%C%' AND P.NM_PRODUTO LIKE 'A%' ORDER BY P.VL_PRECO DESC; ```` ### Desafio 4 ````sql= SELECT NM_CLIENTE, DS_CPF, DS_CEP, DS_ENDERECO, NR_ENDERECO, DS_CIDADE FROM TB_CLIENTE C JOIN TB_ENDERECO EN ON EN.ID_ENDERECO = C.ID_ENDERECO WHERE C.NM_CLIENTE LIKE 'Leonardo Moreira' AND EN.DS_CIDADE LIKE 'Bahia' ORDER BY EN.DS_CIDADE; ```` ### Desafio 5 ````sql= SELECT ID_VENDA, DT_VENDA, NM_CLIENTE, DS_NOTA_FISCAL, TP_FORMA_PAGTO, DS_ENDERECO, NR_ENDERECO FROM TB_VENDA V JOIN TB_CLIENTE C ON C.ID_CLIENTE = V.ID_CLIENTE JOIN TB_ENDERECO EN ON V.ID_ENDERECO = EN.ID_ENDERECO WHERE V.DT_VENDA BETWEEN '2021-05-01' AND '2021-05-11' ORDER BY V.ID_VENDA ```` ### Desafio 6 ````sql= SELECT ID_VENDA, DT_VENDA, NM_CLIENTE, DS_NOTA_FISCAL, TP_FORMA_PAGTO, DS_ENDERECO, NR_ENDERECO FROM TB_VENDA V JOIN TB_CLIENTE C ON C.ID_CLIENTE = V.ID_CLIENTE JOIN TB_ENDERECO EN ON V.ID_ENDERECO = EN.ID_ENDERECO WHERE V.ID_VENDA = 31 OR V.DS_NOTA_FISCAL = 00346 ORDER BY V.ID_VENDA ```` ### Desafio 7 ````sql= SELECT ID_VENDA, DT_VENDA, NM_CLIENTE, DS_NOTA_FISCAL, TP_FORMA_PAGTO, DS_ENDERECO, NR_ENDERECO FROM TB_VENDA V JOIN TB_CLIENTE C ON C.ID_CLIENTE = V.ID_CLIENTE JOIN TB_ENDERECO EN ON V.ID_ENDERECO = EN.ID_ENDERECO WHERE V.DT_VENDA = '2021-03-29' AND EN.DS_ENDERECO LIKE 'Rua cinco' ORDER BY V.ID_VENDA ```` ### Desafio 8 ````sql= SELECT V.ID_VENDA, V.DT_VENDA, NM_CLIENTE, DS_NOTA_FISCAL, DS_ENDERECO, NR_ENDERECO, NM_PRODUTO, NM_CATEGORIA, VL_PRECO FROM TB_VENDA V JOIN TB_CLIENTE C ON C.ID_CLIENTE = V.ID_CLIENTE JOIN TB_ENDERECO EN ON V.ID_ENDERECO = EN.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 CA ON CA.ID_CATEGORIA = P.ID_CATEGORIA WHERE V.ID_VENDA = 27 OR V.DS_NOTA_FISCAL = 00451 ORDER BY V.ID_VENDA ```` ### Desafio 9 ````sql= SELECT V.ID_VENDA, V.DT_VENDA, NM_CLIENTE, DS_NOTA_FISCAL, DS_ENDERECO, NR_ENDERECO, NM_PRODUTO, NM_CATEGORIA, VL_PRECO FROM TB_VENDA V JOIN TB_CLIENTE C ON C.ID_CLIENTE = V.ID_CLIENTE JOIN TB_ENDERECO EN ON V.ID_ENDERECO = EN.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 CA ON CA.ID_CATEGORIA = P.ID_CATEGORIA WHERE V.DT_VENDA = '2021-02-09' ORDER BY V.ID_VENDA ```` ### Desafio 10 ````sql= SELECT DISTINCT NM_CATEGORIA, NM_PRODUTO, VL_PRECO FROM TB_PRODUTO P JOIN TB_CATEGORIA CA ON CA.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-04-07' ORDER BY P.NM_PRODUTO ```` ## PARTE 2 ### Desafio 11 ````sql= SELECT NM_CATEGORIA, NM_PRODUTO, VL_PRECO FROM TB_PRODUTO P JOIN TB_CATEGORIA CA ON CA.ID_CATEGORIA = P.ID_CATEGORIA WHERE P.ID_PRODUTO NOT IN (SELECT ID_PRODUTO FROM TB_VENDA_ITEM) ```` ### Desafio 12 ````sql= SELECT CA.NM_CATEGORIA, CA.ID_CATEGORIA FROM TB_PRODUTO P RIGHT JOIN TB_CATEGORIA CA ON CA.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 EN ON C.ID_ENDERECO = EN.ID_ENDERECO WHERE EN.ID_ENDERECO IS NULL ```` ### Desafio 14 ````sql= SELECT ID_VENDA, DT_VENDA, NM_CLIENTE, DS_NOTA_FISCAL, DS_ENDERECO, NR_ENDERECO, NM_CATEGORIA, NM_PRODUTO, VL_PRECO FROM TB_VENDA V LEFT JOIN TB_CLIENTE C ON C.ID_CLIENTE = V.ID_CLIENTE JOIN TB_ENDERECO EN ON V.ID_ENDERECO = EN.ID_ENDERECO WHERE V.ID_CLIENTE IS NULL ORDER BY V.ID_VENDA ```` ## Parte 3 ### Desafio 15 ````sql= SELECT V.ID_VENDA, COUNT (VI.ID_VENDA_ITEM) QTD_ITEMS FROM TB_VENDA V JOIN TB_VENDA_ITEM VI ON V.ID_VENDA = VI.ID_VENDA GROUP BY V.ID_VENDA; ```` ### Desafio 16 ````sql= SELECT V.ID_VENDA, COUNT (VI.ID_VENDA_ITEM) QTD_ITEMS , SUM (P.VL_PRECO) VL_TOTAL_VENDAS FROM TB_VENDA V JOIN TB_VENDA_ITEM VI ON V.ID_VENDA = VI.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) QTD_ITEMS , SUM (P.VL_PRECO) VL_TOTAL_VENDAS FROM TB_VENDA V JOIN TB_VENDA_ITEM VI ON V.ID_VENDA = VI.ID_VENDA JOIN TB_PRODUTO P ON P.ID_PRODUTO = VI.ID_PRODUTO JOIN TB_CLIENTE C ON C.ID_CLIENTE = V.ID_CLIENTE WHERE V.DT_VENDA BETWEEN '2021-05-01' AND '2021-05-11' 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) QTD_ITEMS , SUM (P.VL_PRECO) VL_TOTAL_VENDAS FROM TB_VENDA V JOIN TB_VENDA_ITEM VI ON V.ID_VENDA = VI.ID_VENDA JOIN TB_PRODUTO P ON P.ID_PRODUTO = VI.ID_PRODUTO JOIN TB_CLIENTE C ON C.ID_CLIENTE = V.ID_CLIENTE WHERE V.DT_VENDA BETWEEN '2021-04-02' AND '2021-04-28' GROUP BY V.ID_VENDA, V.DT_VENDA, C.NM_CLIENTE HAVING SUM (P.VL_PRECO) > 4.99 ```` ### Desafio 19 ````sql= SELECT E.DS_CIDADE, COUNT (VI.ID_VENDA_ITEM) QTD_VENDAS FROM TB_VENDA V JOIN TB_VENDA_ITEM VI ON V.ID_VENDA = VI.ID_VENDA JOIN TB_ENDERECO E ON V.ID_ENDERECO = E.ID_ENDERECO GROUP BY E.DS_CIDADE ORDER BY COUNT (VI.ID_VENDA_ITEM) ```` ### Desafio 20 ````sql= SELECT P.ID_PRODUTO, P.NM_PRODUTO, C.NM_CATEGORIA, P.VL_PRECO, COUNT (VI.ID_VENDA_ITEM) QTD_VENDAS FROM TB_VENDA V JOIN TB_VENDA_ITEM VI ON V.ID_VENDA = VI.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, P.VL_PRECO ORDER BY COUNT (VI.ID_VENDA_ITEM) DESC; ````