180 likes | 298 Views
Bancos de Dados I. SQL 5 Ceça. ALIASES. Utilizados em Junções Para não precisar escrever o nome todo da tabela nas qualificações dos nome podemos utilizar ALIASES Apelidos. ALIASES.
E N D
Bancos de Dados I SQL 5 Ceça
ALIASES • Utilizados em Junções • Para não precisar escrever o nome todo da tabela nas qualificações dos nome podemos utilizar ALIASES • Apelidos Ceça Moraes
ALIASES • Listar os nomes dos vendedores (ordenados) que emitiram pedidos com prazos de entrega superiores a 15 dias e que tenham salário fixo maior ou igual a R$ 1.000,00. SELECT V.nomeVendedor, P.prazoEntrega, V.salarioFixo FROM Vendedor V, Pedido P WHERE V.codigoVendedor = P.codigoVendedor AND V.salarioFixo >= 1000.00 ORDER BY nomeVendedor; Ceça Moraes
15 Queijo RJ Juntando mais de duas Tabelas • Mostre os nomes dos clientes (ordenados) que têm pedidos com prazo de entrega maior que 15 dias para o produto “queijo” e sejam do estado do RJ Ceça Moraes
Juntando mais de duas Tabelas • Solução SELECT nomeCliente, prazoEntrega, descricaoProduto FROM Cliente C, Pedido P, ItemPedido I, Produto PR WHERE C.codigoCliente = P.codigoCliente AND P.numPedido = I.numPedido AND I.codigoProduto = PR.codigoProduto AND PR.descricaoProduto = "queijo" AND P.prazoEntrega > 15 AND C.UF = "RJ" ORDER BY nomeCliente; Ceça Moraes
Juntando mais de duas TabelasResultado Ceça Moraes
> 10 Chocolate Juntando mais de duas Tabelas • Mostre o nome dos vendedores que venderam chocolate em quantidade superior a 10. Ceça Moraes
Juntando mais de duas Tabelas • Solução SELECT nomeVendedor FROM Vendedor V, Pedido P, ItemPedido I, Produto PR WHERE V.codigoVendedor = P.codigoVendedor AND P.numPedido = I.numPedido AND I.codigoProduto = PR.codigoProduto AND I.quan > 10 AND PR.descricaoProduto = “chocolate” Ceça Moraes
Juntando mais de duas TabelasResultado • Repetição do nome do vendedor Ceça Moraes
Juntando mais de duas Tabelas • Solução = Cláusula DISTINCT SELECT DISTINCT nomeVendedor FROM Vendedor V, Pedido P, ItemPedido I, Produto PR WHERE V.codigoVendedor = P.codigoVendedor AND P.numPedido = I.numPedido AND I.codigoProduto = PR.codigoProduto AND I.quan > 10 AND PR.descricaoProduto = “chocolate” Ceça Moraes
Juntando mais de duas TabelasResultado Ceça Moraes
José Count Juntando mais de duas Tabelas • Quantos clientes fizeram pedidos com o vendedor José? Ceça Moraes
Juntando mais de duas Tabelas • Solução SELECT COUNT(C.codigoCliente) As [Count Cliente] FROMCliente C, Pedido P, Vendedor V WHEREC.codigoCliente = P.codigoCliente AND P.codigoVendedor = V.codigoVendedor AND nomeVendedor = “José” Ceça Moraes
Juntando mais de duas TabelasResultado Ceça Moraes
João Count Rio de Janeiro, Niterói Juntando mais de duas Tabelas • Quantos clientes das cidades Rio de Janeiro e Niterói tiveram seus pedidos tirados pelo vendedor João? Ceça Moraes
Juntando mais de duas Tabelas • Solução SELECT COUNT(C.codigoCliente), C.cidade FROMCliente C, Pedido P, Vendedor V WHEREC.codigoCliente = P.codigoCliente AND P.codigoVendedor = V.codigoVendedor AND nomeVendedor = “João” AND cidade in (“Rio de Janeiro”,”Niterói”) GROUP BY cidade; Ceça Moraes
Juntando mais de duas TabelasResultado Ceça Moraes
Exercícios • Relacionar os nomes de Clientes da cidade de São Paulo em ordem decrescente que fizeram pedidos com prazos de entrega menores que 30 dias • Mostre o nome dos clientes que compraram vinho em quantidade superior a 20 (sem repetição) • Quantos vendedores fizeram pedidos para a cliente Susana? • Quantos vendedores nas faixas de comissão “B”e “C” fizeram pedidos para o cliente Rodolfo? Ceça Moraes