Considere um banco de dados relacional que contém uma tabel...

Próximas questões
Com base no mesmo assunto
Q3078833 Banco de Dados
Considere um banco de dados relacional que contém uma tabela denominada “Clientes”. Esta tabela possui as colunas ‘ID’, ‘Nome’, ‘Cidade’ e ‘Saldo’.
Qual consulta SQL retornará todos os clientes que possuem saldo maior que 1000 e que estão localizados na cidade de ‘São Paulo’?
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Vamos analisar a questão apresentada, que envolve consultas em SQL para um banco de dados relacional. O tema central dessa questão é a construção de consultas SQL que utilizam condições para filtrar registros de uma tabela, com o objetivo de retornar dados específicos conforme os critérios estabelecidos. Para resolvê-la, é necessário entender como utilizar os comandos SELECT, FROM, WHERE e operadores lógicos como AND e OR.

A alternativa correta é a Alternativa D. Vamos entender por quê:

A alternativa D apresenta a consulta SQL: SELECT * FROM Clientes WHERE Saldo > 1000 AND Cidade = 'São Paulo';

  • SELECT *: Indica que queremos selecionar todas as colunas da tabela.
  • FROM Clientes: Especifica que a tabela de onde os dados serão obtidos é a “Clientes”.
  • WHERE Saldo > 1000 AND Cidade = 'São Paulo': Estabelece as condições para filtrar os registros, retornando apenas clientes com saldo maior que 1000 e que estão na cidade de 'São Paulo'. O operador AND é usado para garantir que ambas as condições sejam verdadeiras simultaneamente.

Agora, vamos entender por que as outras alternativas estão incorretas:

Alternativa A: SELECT * FROM Clientes WHERE Saldo > 1000 OR Cidade = 'São Paulo';

A utilização do operador OR implica que a consulta retornará clientes que têm saldo maior que 1000 ou que estão em 'São Paulo'. Isso não atende ao critério de ambos simultaneamente.

Alternativa B: SELECT Nome, Cidade FROM Clientes WHERE Saldo < 1000 AND Cidade = 'São Paulo';

Essa consulta filtra clientes com saldo menor que 1000, o que é o oposto do necessário. Além disso, seleciona apenas as colunas 'Nome' e 'Cidade', enquanto precisamos de todos os dados dos clientes.

Alternativa C: Possui um pequeno erro no critério de saldo. Embora haja a seleção correta das colunas, a condição Saldo >= 1000 não exclui o valor 1000 do saldo, o que pode gerar um conjunto de dados não desejado se a exigência for estritamente maior que 1000.

Alternativa E: SELECT Nome, Cidade, Saldo FROM Clientes WHERE Cidade = 'São Paulo' AND Saldo <= 1000 ORDER BY Saldo DESC;

Esta consulta filtra clientes que têm saldo menor ou igual a 1000, o que não é o desejado. Além disso, ordena os resultados pelo saldo em ordem decrescente, o que não foi solicitado.

Essa análise permite entender a importância de interpretar corretamente as condições e operadores em consultas SQL.

Gostou do comentário? Deixe sua avaliação aqui embaixo!

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo