Gabarito disponível
CREATE TABLE clientes (
id_cliente INT PRIMARY KEY,
nome VARCHAR(50));
CREATE TABLE contas (
id_conta INT PRIMARY KEY,
id_cliente INT,
id_agencia INT,
saldo NUMERIC(10,2),
FOREIGN KEY (id_cliente) REFERENCES clientes(id_cliente))
Considerando o uso de subconsulta correlacionada para o atendimento da demanda, assinale a opção que corresponde à consulta SQL que retornará o que se pretende na situação hipotética precedente.
Resolução comentada
A opção A compara a soma por cliente com a média da agência usando subconsultas correlacionadas.
A alternativa A calcula, por subconsulta correlacionada, o saldo total do cliente (SUM por id_cliente) e o compara com a média dos saldos das contas da agência da conta em questão (AVG por id_agencia). O DISTINCT elimina nomes repetidos de clientes com várias contas.
Análise das alternativas
B) Compara o saldo de uma conta, não a soma total do cliente. C) Compara com a média geral de todas as contas, não por agência. D) Usa > ALL, isto é, maior que todos os saldos da agência, e não a média. E) Compara a soma com o MAX da agência, não com a média.
Referência: SQL – subconsultas correlacionadas, agregação.
Resolução comentada do VaiConcursos.