Como já vimos, o JOIN é um comando do SQL que permite juntar duas ou mais tabelas. Nesta aula vamos ver alguns exemplos de uso do JOIN. Para isso, vamos considerar o seguinte modelo lógico de um controle de estoque simples;
Agora vamos para as aplicações;
01. Listar todos os itens vendidos, exibindo o nome de cada produto.
SELECT
tb03_itens_vendas.tb03_itens_vendas_cod,
tb03_itens_vendas.tb03_produtos_codbarras,
tb03_itens_vendas.tb03_itens_vendas_qtd,
tb03_itens_vendas.tb03_itens_vendas_preco,
tb01_produtos.tb01_produtos_nome
FROM tb03_itens_vendas INNER JOIN tb01_produtos
ON tb03_produtos_codbarras = tb01_produtos_codbarras;
02. Listar todas as vendas do produto Toddy.
SELECT tb03_itens_vendas.*, tb01_produtos.tb01_produtos_nome
FROM
tb03_itens_vendas
INNER JOIN tb01_produtos
ON tb03_produtos_codbarras = tb01_produtos_codbarras
WHERE tb01_produtos_nome LIKE "%Toddy%";
03. Listar todos os itens vendidos do mês 05
SELECT tb03_itens_vendas.tb03_produtos_codbarras, tb02_vendas.tb02_vendas_date
FROM tb03_itens_vendas
JOIN tb02_vendas ON tb03_vendas_cod = tb02_vendas_cod
WHERE MONTH(tb02_vendas_date) = 5
04. Listar todos os itens vendidos do mês 05 incluindo o nome dos produtos na consulta
SELECT tb01_produtos.tb01_produtos_codbarras, tb01_produtos.tb01_produtos_nome, tb03_itens_vendas.tb03_itens_vendas_qtd FROM tb03_itens_vendas
JOIN tb02_vendas ON tb03_vendas_cod = tb02_vendas_cod
JOIN tb01_produtos ON tb03_produtos_codbarras = tb01_produtos_codbarras
WHERE MONTH(tb02_vendas_date) = 5
06. Listar o total de vendas de todos os produtos no mês 5 mostrando os produtos mais vendidos primeiro.
SELECT tb01_produtos.tb01_produtos_codbarras, tb01_produtos.tb01_produtos_nome, tb03_itens_vendas.tb03_itens_vendas_qtd FROM tb03_itens_vendas
JOIN tb02_vendas ON tb03_vendas_cod = tb02_vendas_cod
JOIN tb01_produtos ON tb03_produtos_codbarras = tb01_produtos_codbarras
WHERE MONTH(tb02_vendas_date) = 5
GROUP BY tb01_produtos.tb01_produtos_nome
ORDER BY tb03_itens_vendas.tb03_itens_vendas_qtd DESC
07. Totalizar a quantidade de itens vendidos no mês 05
SELECT SUM(tb03_itens_vendas.tb03_itens_vendas_qtd)
FROM tb03_itens_vendas
JOIN tb02_vendas
ON tb03_vendas_cod = tb02_vendas_cod
WHERE MONTH(tb02_vendas_date) = 5
08. Tirar uma média da quantidade de produtos vendidos por dia no mês 5.
SELECT AVG(tb03_itens_vendas.tb03_itens_vendas_qtd)
FROM tb03_itens_vendas
JOIN tb02_vendas
ON tb03_vendas_cod = tb02_vendas_cod
WHERE MONTH(tb02_vendas_date) = 5