Pular para o conteúdo principal

Questão de Banco de Dados — PL-SQL — FUNDATEC 2023

Banco de DadosPL-SQL
Código
qq896732
Banca
FUNDATEC
Órgão
PROCERGS
Ano
2023
Nível
Superior
Cargo
ANC - Analista em Computação - Ênfase em Desenvolvimento Oracle PL/SQL
Considere o seguinte comando:SELECT *FROM Pessoa WHERE IdPessoa BETWEEN 4 AND 10Serão listados os dados das pessoas que tiverem:
  1. AIdPessoa no conjunto de valores {5,6,7,8,9}
  2. BIdPessoa > 4 e IdPessoa < 10
  3. CIdPessoa < 4 e IdPessoa > 10
  4. DIdPessoa <= 4 e IdPessoa >= 10
  5. EIdPessoa no conjunto de valores {4,5,6,7,8,9,10}
Revelar gabarito e comentário

GabaritoE — IdPessoa no conjunto de valores {4,5,6,7,8,9,10}

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Operador BETWEEN no SQL

Gabarito: letra E. O operador BETWEEN no SQL é inclusivo, ou seja, BETWEEN 4 AND 10 retorna todos os registros cujo valor da coluna esteja entre 4 e 10, incluindo os próprios 4 e 10. Portanto, o conjunto de valores retornado é exatamente {4, 5, 6, 7, 8, 9, 10}, como afirma a alternativa E.

O comando SELECT * FROM Pessoa WHERE IdPessoa BETWEEN 4 AND 10 é equivalente a WHERE IdPessoa >= 4 AND IdPessoa <= 10. Essa é a definição padrão do operador BETWEEN na linguagem SQL, adotada pela maioria dos bancos de dados relacionais (MySQL, PostgreSQL, Oracle, SQL Server etc.). A banca explora justamente a confusão entre o BETWEEN inclusivo e a comparação com operadores > e < (exclusivos), que deixariam de fora os extremos 4 e 10.

A pegadinha clássica é o candidato lembrar que BETWEEN é inclusivo, mas errar ao escrever a equivalência com > e < em vez de >= e <=. Outra armadilha comum é inverter os limites, como nas alternativas C e D, que não correspondem a nenhuma interpretação válida do comando.

Alternativa A — ❌ Incorreta

O conjunto {5,6,7,8,9} exclui os extremos 4 e 10. Isso corresponderia a IdPessoa > 4 AND IdPessoa < 10, que é a interpretação exclusiva do intervalo. O BETWEEN é inclusivo, então os valores 4 e 10 também são retornados.

Alternativa B — ❌ Incorreta

IdPessoa > 4 e IdPessoa < 10 representa um intervalo aberto, excluindo 4 e 10. Novamente, o BETWEEN inclui os limites, então essa alternativa está errada.

Alternativa C — ❌ Incorreta

IdPessoa < 4 e IdPessoa > 10 é uma condição impossível: nenhum número pode ser simultaneamente menor que 4 e maior que 10. Essa alternativa inverte completamente o sentido do comando.

Alternativa D — ❌ Incorreta

IdPessoa <= 4 e IdPessoa >= 10 também é uma condição impossível: nenhum número pode ser simultaneamente menor ou igual a 4 e maior ou igual a 10. Além disso, inverte os limites do intervalo.

Alternativa E — ✅ Correta ⟵ GABARITO

O BETWEEN 4 AND 10 é inclusivo, retornando todos os valores entre 4 e 10, incluindo os próprios 4 e 10. Portanto, o conjunto de valores é exatamente {4, 5, 6, 7, 8, 9, 10}. Essa é a definição padrão do operador BETWEEN na linguagem SQL.

NÃO CAIA NESSA!

A banca troca o BETWEEN inclusivo por uma comparação com > e < (exclusiva), que deixaria de fora os extremos. Lembre-se: BETWEEN equivale a >= e <=. Com treino, você identifica essa troca na hora! 💪

Gabarito: letra E

Link permanente: /questoes/qq896732