Questão FC295911
Que comando SQL lista todos os nomes de clientes com mais de R$ 2.000,00 na conta?
Linguagem SQL
CESGRANRIO · 2018
As tabelas a seguir compõem um banco de dados simplificado de um banco comercial, onde o campo sublinhado indica a chave primária. É possível que uma conta tenha vários clientes, e que um cliente tenha várias contas.
Cliente(idCliente,nomeCliente)
Conta(idConta,ultimoSaldo)
ContaCliente(idConta,idCliente)
Que comando SQL lista todos os nomes de clientes com mais de R$ 2.000,00 na conta?
- SELECT nomeCliente FROM Cliente, ContaCliente, Conta WHERE idCliente=idCliente AND idConta=idConta AND ultimoSaldo > 2000;
- SELECT nomeCliente FROM TABLES Cliente c, ContaCliente cc, Conta cs WHERE c.idCliente=cc.idCliente AND cc.idConta=cs.idConta AND cs.ultimoSaldo > 2000;
- SELECT nomeCliente FROM Cliente c, ContaCliente cc, Conta cs WHERE c.idCliente=cc.idCliente AND cc.idConta=cs.idConta AND cs.ultimoSaldo > 2000;
- SELECT nomeCliente FROM Cliente c, ContaCliente cc, Conta cs INNER JOIN c.idCliente=cc.idCliente AND cc.idConta=cs.idConta AND cs.ultimoSaldo > 2000;
- SELECT nomeCliente FROM Cliente c INNER JOIN ContaCliente cc INNER JOIN Conta cs AS c.idCliente=cc.idCliente AND cc.idConta=cs.idConta AND cs.ultimoSaldo > 2000;
Mostrar resposta e comentário
Gabarito
Certo
Comentário do professor
A alternativa apresenta o comando SELECT nomeCliente FROM Cliente c, ContaCliente cc, Conta cs WHERE c.idCliente=cc.idCliente AND cc.idConta=cs.idConta AND cs.ultimoSaldo > 2000;, que retorna os nomes dos clientes vinculados a contas com saldo superior a R$ 2.000,00.
Os aliases (c, cc, cs) evitam ambiguidade entre atributos com o mesmo nome em tabelas diferentes. As condições em WHERE fazem a junção lógica: c.idCliente = cc.idCliente liga cliente a vínculo e cc.idConta = cs.idConta liga ao registro da conta.
A cláusula cs.ultimoSaldo > 2000 filtra apenas as contas que atendem ao critério, e o SELECT nomeCliente projeta os nomes desses clientes.
Observação: se desejar evitar repetições quando um cliente tiver várias contas qualificadas, use SELECT DISTINCT nomeCliente.
Conteúdo do catálogo FC Concursos · Atualizado em