Pular para o conteúdo principal

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;
  1. ARetorna todos os clientes, independentemente de terem feito pedidos, mas exibe NULL no campo Total_Gasto para aqueles que não realizaram compras.
  2. BRetorna apenas os clientes que fizeram pedidos antes de 01/02/2025, pois a condição no WHERE exclui pedidos posteriores.
  3. 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.
  4. DRetorna os clientes que fizeram pedidos a partir de 01/02/2025, mas pode incluir clientes sem pedidos devido ao LEFT JOIN.
  5. ERetorna erro, pois a cláusula HAVING não pode ser usada com COUNT() dessa maneira.
Revelar gabarito e comentário

GabaritoC — Retorna os clientes que fizeram ao menos um pedido a partir de 01/02/2025, incluindo seu número de pedidos e o total gasto.

Link permanente: /questoes/qg502438