Imagem de fundo

Em um sistema de gestão bancária, pretende-se identificar os clientes que possuem saldo...

Em um sistema de gestão bancária, pretende-se identificar os clientes que possuem saldo total (somadas todas as suas contas) superior à média dos saldos das contas da agência em que cada conta está vinculada. Nesse sistema, as tabelas cliente e contas foram criadas pelos comandos a seguir.


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.


A

SELECT DISTINCT c.nome

FROM clientes c

JOIN contas ct ON c.id_cliente = ct.id_cliente

WHERE (

SELECT SUM(ct2.saldo)

FROM contas ct2

WHERE ct2.id_cliente = ct.id_cliente

) > (

SELECT AVG(ct3.saldo)

FROM contas ct3

WHERE ct3.id_agencia = ct.id_agencia)


B

SELECT c.nome

FROM clientes c

JOIN contas ct ON c.id_cliente = ct.id_cliente

WHERE ct.saldo > (

SELECT AVG(saldo) FROM contas WHERE id_agencia = ct.id_agencia)


C

SELECT nome

FROM clientes

WHERE id_cliente IN (

SELECT id_cliente

FROM contas

GROUP BY id_cliente

HAVING SUM(saldo) > (

SELECT AVG(saldo) FROM contas ))


D

SELECT c.nome

FROM clientes c

JOIN contas ct ON c.id_cliente = ct.id_cliente

WHERE ct.saldo > ALL (

SELECT saldo FROM contas WHERE id_agencia = ct.id_agencia)


E

SELECT c.nome

FROM clientes c

JOIN contas ct ON c.id_cliente = ct.id_cliente

WHERE (

SELECT SUM(saldo)

FROM contas

WHERE id_cliente = c.id_cliente

) > (

SELECT MAX(saldo) FROM contas WHERE id_agencia = ct.id_agencia)