Вы находитесь на странице: 1из 15

Exerccios SQL (Parte III)

Continuao
(inner join, left outer join
Exerccios
Ver os nomes, cdigo do cliente e o cdigo do pedido
para todos os clientes que tm pedidos.
Listar todos os clientes e respectivos nmeros de
pedidos. Caso um cliente no tenha pedidos
associados ele tambm deve aparecer.
Quais clientes tm prazo de entrega superior a 15
dias e pertencem aos estados SP ou RJ?
Mostrar os nomes dos clientes e seus respectivos prazos de
entrega, ordenados do maior para o menor
Apresentar os vendedores (ordenados) que emitiram
pedidos com prazos de entrega superiores a 15 dias e
tenham salrios fixos iguais ou superires a R$
1.000,00.




Ver os nomes, cdigo do cliente e o
cdigo do pedido para todos os clientes
que tm pedidos.
SELECT cliente.nome_cliente,
pedido.cod_cliente, pedido.num_pedido
FROM cliente INNER JOIN pedido
ON cliente.cod_cliente = pedido.cod_cliente

ou
SELECT cliente.nome_cliente,
pedido.cod_cliente, pedido.num_pedido
FROM cliente, pedido
WHERE cliente.cod_cliente =
pedido.cod_cliente

Listar todos os clientes e respectivos nmeros
de pedidos. Caso um cliente no tenha
pedidos associados ele tambm deve
aparecer.
SELECT nome_cliente, pedido.cod_cliente,
num_pedido
FROM cliente LEFT OUTER JOIN pedido
ON cliente.cod_cliente = pedido.cod_cliente


...............................
OUTER JOIN - EXEMPLO
Select * from S full outer join T using
(A);
A4 C4
A3 C3
A1 C1
A C
B3 A3
B2 A2
B1 A1
B A
B2 A2 NULL
NULL A4 C4
B3 A3 C3
B1 A1 C1
B A C
S T
Vendas(aid,total) e Vendedores(aid,nome)
Quais clientes tm prazo de entrega
superior a 15 dias e pertencem aos
estados SP ou RJ? ANSI
SELECT cliente.nome_cliente,
pedido.cod_cliente, pedido.num_pedido
FROM cliente JOIN pedido
ON cliente.cod_cliente = pedido.cod_cliente
WHERE UF IN (SP`, `RJ) AND
prazo_entrega> 15;

Quais clientes tm prazo de entrega
superior a 15 dias e pertencem aoS
estados SP ou RJ?
SELECT cliente.nome_cliente,
pedido.cod_cliente, pedido.num_pedido
FROM cliente, pedido
WHERE cliente.cod_cliente =
pedido.cod_cliente AND UF IN (SP`, `RJ)
AND prazo_entrega> 15;
Resultado
20 RJ Susana
30 SP Beth
20 RJ Rodolfo
30 SP Maurcio
20 RJ Ana
PRAZO ENTREGA UF NOME_CLIENTE
Mostrar os nomes dos clientes e seus
respectivos prazos de entrega,
ordenados do maior para o menor
Soluo 1
SELECT nome_cliente, prazo entrega
FROM cliente JOIN pedido
ON cliente.cod_cliente = pedido.cod_cliente
ORDER BY prazo_entrega desc;

SELECT nome_cliente, prazo entrega
FROM cliente, pedido
WHERE cliente.cod_cliente = pedido.cod_cliente
ORDER BY prazo_entrega desc;

Resultado
ALIASES
Apresentar os vendedores (ordenados)
que emitiram pedidos com prazos de
entrega superiores a 15 dias e tenham
salrios fixos iguais ou superires a R$
1.000,00.
SELECT nome_vendedor, prazo_entrega
FROM vendedor V, pedido P
WHERE V.cod_vendedor = P.cod_vendedor
AND salario_fixo >= 1.000,00
ORDER BY nome_vendedor;

Вам также может понравиться