1
resposta

[Projeto] 08 Mão na massa: hora da prática

--1.Traga todos os dados da cliente Maria Silva.

SELECT * FROM Clientes WHERE nome_clientes = 'Maria Silva';

--2.Busque o ID do pedidov e o ID do cliente dos pedidos onde o status esteja como entregue.

SELECT ID_Pedidos, ID_Clientes FROM Pedidos WHERE status_pedidos = 'Entregue';

--3. Retorne todos os produtos onde o preço seja maior que 10 e menor que 15.

SELECT * FROM Produtos WHERE preco_produtos > 10 and preco_produtos < 15;

--4. Busque o nome e cargo dos colaboradores que foram contratados entre 2022-01-01 e 2022-06-31.

SELECT nome, cargo FROM colaboradores WHERE datacontratacao BETWEEN '2022-01-01' AND '2022-06-31';

--5. Recupere o nome do cliente que fez o primeiro pedido.

SELECT nome_clientes FROM Clientes WHERE ID_Clientes = ( SELECT ID_Clientes FROM Pedidos ORDER BY data_hora_pedido asc LIMIT 1);

--6. Liste os produtos que nunca foram pedidos.

SELECT nome_produtos FROM Produtos WHERE ID_Produtos NOT IN ( SELECT ID_Produtos FROM ItensPedidos);

--7. Liste os nomes dos clientes que fizeram pedidos entre 2023-01-01 e 2023-12-31.

SELECT c.nome_clientes FROM Clientes AS c INNER JOIN Pedidos AS p ON c.ID_Clientes = p.ID_Clientes WHERE p.data_hora_pedido BETWEEN '2023-01-01' AND '2023-01-31';

--8. Recupere os nomes dos produtos que estão em menos de 15 pedidos.

SELECT p.nome_produtos FROM Produtos AS p INNER JOIN ItensPedidos AS ip ON p.ID_Produtos = IP.ID_Produtos GROUP BY p.nome_produtos HAVING COUNT(ip.ID_Pedidos) < 15;

--9. Liste os produtos e o ID do pedido que foram realizados pelo cliente "Pedro Alves" ou pela cliente "Ana Rodrigues".

SELECT p.nome_produtos, ip.ID_Pedidos FROM Produtos AS p INNER JOIN ItensPedidos AS ip ON P.ID_Produtos = IP.ID_Produtos INNER JOIN Pedidos AS pd ON ip.ID_Pedidos = pd.ID_Pedidos INNER JOIN Clientes AS c ON pd.ID_Clientes = C.ID_Clientes WHERE c.nome_clientes IN ('Pedro Alves', 'Ana Rodrigues');

--10. Recupere o nome e o ID do cliente que mais comprou(valor) no Serenatto.

SELECT p.ID_Clientes, c.nome_clientes, SUM(ip.quantidade * ip.preco_Unitario) as Valortotal FROM Clientes c INNER JOIN Pedidos p ON c.ID_Clientes = p.ID_Clientes INNER JOIN ItensPedidos ip ON p.ID_Pedidos = ip.ID_Pedidos GROUP BY p.ID_Clientes ORDER BY Valortotal DESC LIMIT 1;

1 resposta

Oi Amanda,

Parabéns pelo seu projeto! 👏

As queries estão bem construídas e abordam os conceitos do curso de forma eficaz.

Para saber mais: Cláusula BETWEEN

Continue praticando e explorando as possibilidades do SQL! 💪