Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
----------------------------------------------------------------- -- SCRIPT_JOINS_EXEMPLOS_2.SQL -- CRIADO POR: Paulo Giovani -- Demonstra a utilização de JOINS em mais de duas tabelas ----------------------------------------------------------------- USE master GO -- Habilita o banco Use LojaMaria GO -- Verifica os dados das tabelas SELECT * FROM Clientes GO SELECT * FROM Vendedores GO SELECT * FROM Produtos GO SELECT * FROM Pedidos GO SELECT * FROM Item_de_Pedido GO -- Exemplo de consulta com quatro tabelas e três JOINS -- Exibir quais os clientes (ordenados) que cujo pedido têm prazo de entrega maior -- que 15 dias para o produto 'Queijo' e que sejam do estado do Rio de Janeiro -- Exibir o nome do cliente, o número do pedido, o prazo de entrega, o produto -- comprado e o estado -- Passos: -- Escolher os campos que serão exibidos -- Encontrar qual cliente tem um pedido -- Verificar o produto no item de pedido -- Verificar qual produto corresponde aquele item de pedido -- Inserir os filtros -- Ordenar o resultado SELECT Cli.Nome_cliente AS 'Nome do Cliente', Ped.Numero_pedido AS 'Número do Pedido', Ped.Prazo_entrega AS 'Prazo de Entrega', Prod.Descricao_produto AS 'Produto', Cli.UF AS 'Estado' FROM Clientes Cli INNER JOIN Pedidos Ped ON Cli.Codigo_cliente = Ped.Codigo_cliente INNER JOIN Item_de_Pedido Item ON Ped.Numero_pedido = Item.Numero_pedido INNER JOIN Produtos Prod ON Prod.Codigo_produto = Item.Codigo_produto WHERE Ped.Prazo_entrega > 15 AND Cli.UF = 'RJ' AND Prod.Descricao_produto = 'Queijo' ORDER BY Cli.Nome_cliente GO -- Exibir todos os vendedores que venderam chocolate em quantidade superior a dez quilos -- Exibir o nome do vendedor, o produto e a quantidade vendida SELECT V.Nome_vendedor AS 'Vendedor', Prod.Descricao_produto AS 'Produto', Item.Quantidade AS 'Quantidade (Kg)' FROM Vendedores V INNER JOIN Pedidos Ped ON V.Codigo_vendedor = Ped.Codigo_vendedor INNER JOIN Item_de_Pedido Item ON Ped.Numero_pedido = Item.Numero_pedido INNER JOIN Produtos Prod ON Prod.Codigo_produto = Item.Codigo_produto WHERE Prod.Descricao_produto = 'Chocolate' AND Item.Quantidade > 10 GO -- Mesma consulta anterior, porém exibindo somente o nome do vendedor -- que vendeu mais de 10 quilos de qualquer produto SELECT DISTINCT V.Nome_vendedor AS 'Vendedor' FROM Vendedores V INNER JOIN Pedidos Ped ON V.Codigo_vendedor = Ped.Codigo_vendedor INNER JOIN Item_de_Pedido Item ON Ped.Numero_pedido = Item.Numero_pedido INNER JOIN Produtos Prod ON Prod.Codigo_produto = Item.Codigo_produto WHERE Item.Quantidade > 10 GO -- Verificando quantos clientes fizeram compras com o vendedor Antônio SELECT COUNT(C.Codigo_cliente) AS 'Total de Vendas - Antônio' FROM Clientes C INNER JOIN Pedidos P ON C.Codigo_cliente = P.Codigo_cliente INNER JOIN Vendedores V ON P.Codigo_vendedor = V.Codigo_vendedor WHERE V.Nome_vendedor = 'Antônio' GO -- Quantos clientes da cidade do Rio de Janeiro e de Niterói tiveram -- seus pedidos feitos pelo vendedor Antônio -- Exibir a cidade e o total de vendas efetuadas pelo vendedor SELECT C.Cidade, COUNT(C.Codigo_cliente) AS 'Total de Vendas - Antônio' FROM Clientes C INNER JOIN Pedidos P ON C.Codigo_cliente = P.Codigo_cliente INNER JOIN Vendedores V ON P.Codigo_vendedor = V.Codigo_vendedor WHERE V.Nome_vendedor = 'Antônio' AND C.Cidade In ('Rio de Janeiro', 'Niterói') GROUP BY C.Cidade GO
Compartilhar