# Banco de Dados Session Four ## Query or not to Query? QUERY!!!! autor: Guilherme Oliveira Verissimo turma: InfoC nĂºmero: 21 [toc] ### Desafios ### Select Script ### PARTE I ### DESAFIO 1 ```sql= SELECT nm_categoria, nm_produto, vl_preco FROM TB_PRODUTO P JOIN TB_CATEGORIA C ON P.ID_CATEGORIA = C.ID_CATEGORIA WHERE C.NM_CATEGORIA = "Mouse Gamer" ORDER BY nm_categoria, nm_produto; ``` ### DESAFIO 2 ```sql= SELECT nm_categoria, nm_produto, vl_preco, qtd_minima, qtd_disponivel FROM TB_PRODUTO P JOIN TB_CATEGORIA C ON P.ID_CATEGORIA = C.ID_CATEGORIA JOIN TB_ESTOQUE E ON E.ID_PRODUTO = P.ID_PRODUTO WHERE E.QTD_DISPONIVEL < E.QTD_MINIMA ORDER BY nm_categoria, nm_produto; ``` ### DESAFIO 3 ```sql= SELECT nm_categoria, nm_produto, vl_preco, qtd_minima, qtd_disponivel FROM TB_PRODUTO P JOIN TB_CATEGORIA C ON P.ID_CATEGORIA = C.ID_CATEGORIA JOIN TB_ESTOQUE E ON E.ID_PRODUTO = P.ID_PRODUTO WHERE C.NM_CATEGORIA LIKE "%T%" AND P.NM_PRODUTO LIKE "%O%" ORDER BY vl_preco DESC; ``` ### DESAFIO 4 ```sql= SELECT nm_cliente, ds_cpf, ds_cep, ds_endereco, nr_endereco, ds_cidade FROM TB_CLIENTE CL JOIN TB_ENDERECO EN ON CL.ID_ENDERECO = EN.ID_ENDERECO WHERE nm_cliente LIKE "%A%" AND ds_endereco LIKE "%Rua%" ORDER BY ds_cidade; ``` ### DESAFIO 5 ```sql= SELECT id_venda, dt_venda, nm_cliente, ds_nota_fiscal, tp_forma_pagamento, ds_endereco, nr_endereco FROM TB_VENDA V JOIN TB_CLIENTE CL ON V.ID_CLIENTE = CL.ID_CLIENTE JOIN TB_ENDERECO EN ON V.ID_ENDERECO_ENTREGA = EN.ID_ENDERECO WHERE V.DT_VENDA BETWEEN "2021-03-18" AND "2021-04-01" ORDER BY id_venda; ``` ### DESAFIO 6 ```sql= SELECT id_venda, dt_venda, nm_cliente, ds_nota_fiscal, tp_forma_pagamento, ds_endereco, nr_endereco FROM TB_VENDA V JOIN TB_CLIENTE CL ON V.ID_CLIENTE = CL.ID_CLIENTE JOIN TB_ENDERECO EN ON V.ID_ENDERECO_ENTREGA = EN.ID_ENDERECO WHERE CL.NM_CLIENTE LIKE "%Pedro%" or V.DS_NOTA_FISCAL = 101113642 ORDER BY id_venda; ``` ### DESAFIO 7 ```sql= SELECT id_venda, dt_venda, nm_cliente, ds_nota_fiscal, tp_forma_pagamento, ds_endereco, nr_endereco FROM TB_VENDA V JOIN TB_CLIENTE CL ON V.ID_CLIENTE = CL.ID_CLIENTE JOIN TB_ENDERECO EN ON V.ID_ENDERECO_ENTREGA = EN.ID_ENDERECO WHERE V.DT_VENDA = "2021-03-20" AND EN.DS_ENDERECO LIKE "%Rua%" ORDER BY id_venda; ``` ### DESAFIO 8 ```sql= SELECT V.ID_VENDA, V.DT_VENDA, CL.NM_CLIENTE, V.DS_NOTA_FISCAL, EN.DS_ENDERECO, EN.NR_ENDERECO, P.NM_PRODUTO, C.ID_CATEGORIA, P.VL_PRECO FROM TB_VENDA V JOIN TB_CLIENTE CL ON V.ID_CLIENTE = CL.ID_CLIENTE JOIN TB_ENDERECO EN ON EN.ID_ENDERECO = V.ID_ENDERECO_ENTREGA 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 JOIN TB_ESTOQUE E ON E.ID_PRODUTO = P.ID_PRODUTO WHERE V.ID_VENDA = 1 OR V.DS_NOTA_FISCAL = 796516422 ORDEr BY id_venda; ``` ### DESAFIO 9 ```sql= SELECT V.ID_VENDA, V.DT_VENDA, CL.NM_CLIENTE, V.DS_NOTA_FISCAL, EN.DS_ENDERECO, EN.NR_ENDERECO, P.NM_PRODUTO, C.ID_CATEGORIA, P.VL_PRECO FROM TB_VENDA V JOIN TB_CLIENTE CL ON V.ID_CLIENTE = CL.ID_CLIENTE JOIN TB_ENDERECO EN ON EN.ID_ENDERECO = V.ID_ENDERECO_ENTREGA 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 JOIN TB_ESTOQUE E ON E.ID_PRODUTO = P.ID_PRODUTO WHERE V.DT_VENDA = "2021-03-01" ORDEr BY id_venda; ``` ### DESAFIO 10 ```sql= SELECT nm_produto, nm_categoria, vl_preco 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 WHERE V.DT_VENDA = "2021-03-02" ORDER BY nm_produto; ``` ### PARTE II ### DESAFIO 11 ```sql= SELECT nm_produto, nm_categoria, vl_preco FROM TB_PRODUTO P JOIN TB_CATEGORIA C ON P.ID_CATEGORIA = C.ID_CATEGORIA WHERE P.ID_PRODUTO NOT IN (SELECT id_produto from TB_VENDA_ITEM); ``` ### DESAFIO 12 ```sql= SELECT P.ID_CATEGORIA, C.NM_CATEGORIA FROM TB_PRODUTO P RIGHT JOIN TB_CATEGORIA C ON P.ID_CATEGORIA = C.ID_CATEGORIA WHERE P.ID_PRODUTO IS NULL; WHERE C.ID_ENDERECO is NULL; ``` ### DESAFIO 13 ```sql= SELECT id_cliente, nm_cliente FROM TB_CLIENTE C left JOIN TB_ENDERECO E ON C.ID_ENDERECO = E.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, EN.DS_ENDERECO, EN.NR_ENDERECO, P.NM_PRODUTO, C.ID_CATEGORIA, P.VL_PRECO FROM TB_VENDA V JOIN TB_CLIENTE CL ON V.ID_CLIENTE = CL.ID_CLIENTE JOIN TB_ENDERECO EN ON EN.ID_ENDERECO = V.ID_ENDERECO_ENTREGA 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 JOIN TB_ESTOQUE E ON E.ID_PRODUTO = P.ID_PRODUTO WHERE V.ID_CLIENTE IS NULL; ``` #### PARTE III ### DESAFIO 15 ```sql= SELECT V.ID_VENDA, COUNt (VI.ID_VENDA_ITEM) AS 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_VENDA 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_VENDA 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 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_VENDA 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 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 (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_ENDERECO E ON E.ID_ENDERECO = V.ID_ENDERECO_ENTREGA GROUP by E.DS_CIDADE ORDER BY COUNT(VI.ID_VENDA_ITEM) DESC; ``` ### DESAFIO 20 ```sql= SELECT nm_produto, vl_preco, COUNT (VI.id_venda_item) QTD_VENDAS FROM TB_VENDA_ITEM VI JOIN TB_PRODUTO P ON VI.ID_PRODUTO = P.ID_PRODUTO GROUP BY nm_produto, vl_preco ORDER BY COUNT(VI.ID_VENDA_ITEM) DESC; ``` ### DESAFIO MONSTER ### DESAFIO 21 O MAIS PERTO QUE CHEGUEI ```sql= SELECT ROW_NUMBER() OVER(ORDER BY QTD_COMPRAS ASC) AS ID_RANK, CL.ID_CLIENTE, CL.NM_CLIENTE, CL.DS_CPF, COUNT (VI.ID_VENDA_ITEM) QTD_COMPRAS 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 GROUP by CL.NM_CLIENTE ORDER BY COUNT (VI.ID_VENDA) DESC LIMIT 5; ```
{"metaMigratedAt":"2023-06-16T01:13:06.348Z","metaMigratedFrom":"Content","title":"Banco de Dados Session Four","breaks":true,"contributors":"[{\"id\":\"31e7052c-d777-4fb0-b189-63fab945e035\",\"add\":8549,\"del\":22}]"}
Expand menu