Buscar

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 u...

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. Que comando SQL lista todos os nomes de clientes com mais de R$ 2.000,00 na conta?

(A) SELECT nomeCliente FROM Cliente, ContaCliente, Conta WHERE idCliente=idCliente AND idConta=idConta AND ultimoSaldo > 2000;
(B) SELECT nomeCliente FROM TABLES Cliente c, ContaCliente cc, Conta cs WHERE c.idCliente=cc.idCliente AND cc.idConta=cs.idConta AND cs.ultimoSaldo > 2000;
(C) SELECT nomeCliente FROM Cliente c, ContaCliente cc, Conta cs WHERE c.idCliente=cc.idCliente AND cc.idConta=cs.idConta AND cs.ultimoSaldo > 2000;
(D) SELECT nomeCliente FROM Cliente c, ContaCliente cc, Conta cs INNER JOIN c.idCliente=cc.idCliente AND cc.idConta=cs.idConta AND cs.ultimoSaldo > 2000;
(E) 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;

Essa pergunta também está no material:

Concurso Público - cesgranrio 2018 banco do brasil - escriturário prova
31 pág.

Provas de Concursos Públicos USP - São PauloUSP - São Paulo

💡 1 Resposta

User badge image

Ed Verified user icon

Vamos analisar as opções: (A) SELECT nomeCliente FROM Cliente, ContaCliente, Conta WHERE idCliente=idCliente AND idConta=idConta AND ultimoSaldo > 2000; - Nesta opção, a cláusula WHERE está comparando idCliente=idCliente e idConta=idConta, o que não faz sentido. Além disso, a sintaxe não está correta. (B) SELECT nomeCliente FROM TABLES Cliente c, ContaCliente cc, Conta cs WHERE c.idCliente=cc.idCliente AND cc.idConta=cs.idConta AND cs.ultimoSaldo > 2000; - Nesta opção, a palavra "TABLES" está incorreta. A sintaxe também não está correta. (C) SELECT nomeCliente FROM Cliente c, ContaCliente cc, Conta cs WHERE c.idCliente=cc.idCliente AND cc.idConta=cs.idConta AND cs.ultimoSaldo > 2000; - Esta opção parece estar correta em termos de sintaxe e lógica. Ela seleciona o nome do cliente onde o saldo da conta é superior a R$ 2.000,00. (D) SELECT nomeCliente FROM Cliente c, ContaCliente cc, Conta cs INNER JOIN c.idCliente=cc.idCliente AND cc.idConta=cs.idConta AND cs.ultimoSaldo > 2000; - Nesta opção, a cláusula INNER JOIN está incorreta. A sintaxe não está correta. (E) 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; - Nesta opção, a sintaxe do INNER JOIN está incorreta. Além disso, a palavra "AS" não deve ser usada dessa forma. Portanto, a opção correta é a (C): SELECT nomeCliente FROM Cliente c, ContaCliente cc, Conta cs WHERE c.idCliente=cc.idCliente AND cc.idConta=cs.idConta AND cs.ultimoSaldo > 2000;

0
Dislike0

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta

User badge image

Outros materiais