

Seu próximo nível começa aqui
Seu desenvolvimento não pode ter limites. Garanta sua Assinatura Ilimitada e libere uma preparação completa com os melhores professores do Brasil.
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.
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)
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)
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 ))
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)
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)