Buscar

SCRIPT_JOINS_EXEMPLOS_1

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

-----------------------------------------------------------------
-- SCRIPT_JOINS_EXEMPLOS_1.SQL
-- CRIADO POR: Paulo Giovani
-- Demonstra a utilização de JOINS em duas tabelas
-----------------------------------------------------------------
USE master
GO
-- Habilita o banco
Use Loja_Maria
GO
-- Exibindo as tabelas existentes
SELECT name 
FROM sys.tables
GO
-- Exibindo os clientes
SELECT * 
FROM Clientes
GO
-- Exibindo os pedidos
SELECT * 
FROM Pedidos
GO
-- Exibindo os pedidos de cada cliente
-- Exibir o nome do cliente e o número do pedido
SELECT	C.Nome_cliente, 
		P.Numero_pedido
FROM Clientes C INNER JOIN Pedidos P
	ON C.Codigo_cliente = P.Codigo_cliente
ORDER BY C.Nome_cliente
GO
-- Exibindo os clientes que não possuem pedidos
-- Exibir o nome do cliente e o número do pedido
SELECT	C.Nome_cliente, 
		P.Numero_pedido
FROM Clientes C LEFT OUTER JOIN Pedidos P
	ON C.Codigo_cliente = P.Codigo_cliente
ORDER BY C.Nome_cliente
GO
-- Exibindo os clientes que não possuem pedidos
-- Exibir o nome do cliente e o número do pedido
-- Utiliza ISNULL para formatar o resultado
SELECT	C.Nome_cliente AS 'Nome do Cliente',
		ISNULL(CAST(P.Numero_pedido AS CHAR), 'Nada Consta') AS 'Número do Pedido'
FROM Clientes C LEFT OUTER JOIN Pedidos P
	ON C.Codigo_cliente = P.Codigo_cliente
ORDER BY C.Nome_cliente
GO
-- Quais clientes têm prazo de entrega superior a 15 dias e pertencem aos estados 
-- de São Paulo ou Rio de Janeiro?
-- Exibir o nome do cliente, o número do pedido e o prazo de entrega
SELECT	C.Nome_cliente AS 'Nome do Cliente',
		P.Numero_pedido AS 'Número do Pedido',
		P.Prazo_entrega AS 'Prazo de Entrega'
FROM Clientes C INNER JOIN Pedidos P
	ON C.Codigo_cliente = P.Codigo_cliente
WHERE P.Prazo_entrega > 15 AND C.UF IN ('SP', 'RJ')
ORDER BY C.Nome_cliente
GO
-- Exibir os clientes e seus respectivos prazos de entrega, ordenados do maior para o menor
-- Exibir o nome do cliente, o número do pedido e o prazo de entrega
SELECT	C.Nome_cliente AS 'Nome do Cliente',
		P.Numero_pedido AS 'Número do Pedido',
		P.Prazo_entrega AS 'Prazo de Entrega'
FROM Clientes C INNER JOIN Pedidos P
	ON C.Codigo_cliente = P.Codigo_cliente
ORDER BY P.Prazo_entrega DESC
GO
-- Apresentar os vendedores (ordenados) que emitiram pedidos com prazos de 
-- entrega superiores a 15 dias e tenham salários fixos iguais ou 
-- superiores a R$ 1.000,00
-- Exibir o nome do vendedor, o número do pedido e o prazo de entrega
SELECT	V.Nome_vendedor AS 'Nome do Vendedor',
		P.Numero_pedido AS 'Número do Pedido',
		P.Prazo_entrega AS 'Prazo de Entrega'
FROM Vendedores V INNER JOIN Pedidos P
	ON V.Codigo_vendedor = P.Codigo_Vendedor
WHERE P.Prazo_entrega > 15 AND V.Salario_fixo >= 1000
ORDER BY V.Nome_vendedor
GO
-- Apresentar os vendedores (ordenados) que emitiram pedidos com prazos de 
-- entrega superiores a 15 dias e tenham salários fixos iguais ou 
-- superiores a R$ 1.000,00
-- Exibir o nome do vendedor, o número do pedido e o prazo de entrega
-- Utiliza a cláusula COMPUTE BY para calcular quantas vendas cada vendedor realizou
SELECT	V.Nome_vendedor AS 'Nome do Vendedor',
		P.Numero_pedido AS 'Número do Pedido',
		P.Prazo_entrega AS 'Prazo de Entrega' 
FROM Vendedores V INNER JOIN Pedidos P
	ON V.Codigo_vendedor = P.Codigo_Vendedor
WHERE P.Prazo_entrega > 15 AND V.Salario_fixo >= 1000
ORDER BY V.Nome_vendedor
COMPUTE COUNT(V.Nome_vendedor) BY V.Nome_vendedor
GO

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando