Segue abaixo as consultas solicitadas: 1. Apresentar todos os produtos, e quando existirem, as vendas relativas ao produto. Campos: identificador do produto, nome do produto, identificador da venda. Apresente os resultados em ordenados pelo nome do produto. SELECT p.id_produto, p.nome_produto, v.id_venda FROM produto p LEFT JOIN venda v ON p.id_produto = v.id_produto ORDER BY p.nome_produto; 2. Apresentar todos os fornecedores cadastrados, e quando existirem, os seus pedidos. Campos: nome fantasia do fornecedor, identificador do pedido, data de entrega do pedido. USAR RIGHT JOIN SELECT f.nome_fantasia, p.id_pedido, p.data_entrega FROM fornecedor f RIGHT JOIN pedido p ON f.id_fornecedor = p.id_fornecedor; 3. Apresentar todas as classes, e quando existirem os produtos da classe. Campos: todos os campos da classe, nome do produto, preço de venda. Os resultados devem ser ordenados por nome da classe. SELECT c.*, p.nome_produto, p.preco_venda FROM classe c LEFT JOIN produto p ON c.id_classe = p.id_classe ORDER BY c.nome_classe; 4. Apresentar todos os clientes e suas respectivas compras, apresentar também os clientes que não fizeram compras. Campos: identificador do cliente, nome do cliente se o mesmo for pessoa física ou o nome fantasia se o mesmo for pessoa jurídica (EM UM CAMPO ÚNICO USANDO CASE), identificador da venda, valor total da venda. Ordenar os resultados por identificador. SELECT c.id_cliente, CASE WHEN c.tipo_cliente = 'PF' THEN c.nome_cliente ELSE c.nome_fantasia END AS nome_cliente, v.id_venda, v.valor_total FROM cliente c LEFT JOIN venda v ON c.id_cliente = v.id_cliente ORDER BY c.id_cliente; 5. Apresentar todos os estados e, quando existirem suas respectivas cidades. Campos todos de estado e cidade. USAR RIGHT JOIN SELECT e.*, c.nome_cidade FROM estado e RIGHT JOIN cidade c ON e.id_estado = c.id_estado; 6. Apresentar todos os produtos e seus respectivos lotes quando existirem. Campos: identificador e nome do produto, identificador do lote, data de validade do lote, quantidade vendida. USAR LEFT JOIN SELECT p.id_produto, p.nome_produto, l.id_lote, l.data_validade, l.quantidade_vendida FROM produto p LEFT JOIN lote l ON p.id_produto = l.id_produto; 7. Apresentar todas as cidades, e quando existirem, os vendedores nela cadastrados. Campos: identificador da cidade, nome, nome do estado, nome do vendedor, logradouro, numero. Apresentar o resultado ordenado por nome do estado, nome da cidade, nome do vendedor. SELECT c.id_cidade, c.nome_cidade, e.nome_estado, v.nome_vendedor, v.logradouro, v.numero FROM cidade c LEFT JOIN vendedor v ON c.id_cidade = v.id_cidade INNER JOIN estado e ON c.id_estado = e.id_estado ORDER BY e.nome_estado, c.nome_cidade, v.nome_vendedor;
Para escrever sua resposta aqui, entre ou crie uma conta
Implementação de Banco de Dados
Compartilhar