Trazer todos os dados da cliente Maria Silva
SELECT *
FROM clientes
WHERE nome = 'Maria Silva';
Buscar o ID do pedido e o ID do cliente dos pedidos com status Entregue
SELECT id, idcliente
FROM pedidos
WHERE status = 'Entregue';
Retornar todos os produtos com preço maior que 10 e menor que 15
SELECT *
FROM produtos
WHERE preco > 10 AND preco < 15;
Buscar nome e cargo dos colaboradores contratados entre 2022-01-01 e 2022-06-30
SELECT nome, cargo
FROM colaboradores
WHERE datacontratacao BETWEEN '2022-01-01' AND '2022-06-30';
Recuperar o nome do cliente que fez o primeiro pedido
SELECT c.nome
FROM clientes c
JOIN pedidos p ON c.id = p.idcliente
ORDER BY p.datahorapedido
LIMIT 1;
Listar os produtos que nunca foram pedidos
SELECT p.nome
FROM produtos p
LEFT JOIN itenspedidos ip ON p.id = ip.idproduto
WHERE ip.idproduto IS NULL;
Listar os nomes dos clientes que fizeram pedidos em 2023
SELECT DISTINCT c.nome
FROM clientes c
JOIN pedidos p ON c.id = p.idcliente
WHERE p.datahorapedido BETWEEN '2023-01-01' AND '2023-12-31';
Recuperar os nomes dos produtos que estão em menos de 15 pedidos
SELECT p.nome
FROM produtos p
JOIN itenspedidos ip ON p.id = ip.idproduto
GROUP BY p.id, p.nome
HAVING COUNT(ip.idpedido) < 15;
Listar os produtos e o ID do pedido feitos por Pedro Alves ou Ana Rodrigues
SELECT p.nome, pe.id
FROM clientes c
JOIN pedidos pe ON c.id = pe.idcliente
JOIN itenspedidos ip ON pe.id = ip.idpedido
JOIN produtos p ON ip.idproduto = p.id
WHERE c.nome IN ('Pedro Alves', 'Ana Rodrigues');
Recuperar o nome e o ID do cliente que mais comprou (valor total)
SELECT c.id, c.nome
FROM clientes c
JOIN pedidos p ON c.id = p.idcliente
JOIN itenspedidos ip ON p.id = ip.idpedido
GROUP BY c.id, c.nome
ORDER BY SUM(ip.precounitario * ip.quantidade) DESC
LIMIT 1;