---
# System prepended metadata

title: 'Session Four:  | Banco de Dados'

---

# Session Four:  | Banco de Dados

Erik Alexandre da Silva - 10 - Info B

[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;
````