Questão de Banco de Dados — Banco de Dados Relacionais — FUVEST 2025
Banco de DadosBanco de Dados Relacionais
- Código
- qg502438
- Banca
- FUVEST
- Órgão
- USP
- Ano
- 2025
- Nível
- Superior
- Cargo
- Analista de Sistemas
As tabelas, a seguir, foram criadas no banco de dados relacional para armazenar informações sobre vendas:CREATE TABLE Clientes ( Cliente_ID INT PRIMARY KEY, Nome VARCHAR(100), Cidade VARCHAR(100), Estado CHAR(2) ); CREATE TABLE Pedidos ( Pedido_ID INT PRIMARY KEY, Cliente_ID INT, Data_Pedido DATE, Valor_Total DECIMAL(10,2), FOREIGN KEY (Cliente_ID) REFERENCES Clientes(Cliente_ID) ); A consulta SQL, a seguir, retorna quais resultados? SELECT c.Nome, COUNT(p.Pedido_ID) AS Num_Pedidos, COALESCE(SUM(p.Valor_Total), 0) AS Total_Gasto FROM Clientes c LEFT JOIN Pedidos p ON c.Cliente_ID = p.Cliente_ID WHERE p.Data_Pedido >= '2025-02-01' GROUP BY c.Nome HAVING COUNT(p.Pedido_ID) >= 1;
- ARetorna todos os clientes, independentemente de terem feito pedidos, mas exibe NULL no campo Total_Gasto para aqueles que não realizaram compras.
- BRetorna apenas os clientes que fizeram pedidos antes de 01/02/2025, pois a condição no WHERE exclui pedidos posteriores.
- CRetorna os clientes que fizeram ao menos um pedido a partir de 01/02/2025, incluindo seu número de pedidos e o total gasto.
- DRetorna os clientes que fizeram pedidos a partir de 01/02/2025, mas pode incluir clientes sem pedidos devido ao LEFT JOIN.
- ERetorna erro, pois a cláusula HAVING não pode ser usada com COUNT() dessa maneira.