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