Questão de Banco de Dados — PL-SQL — FUNDATEC 2023
Banco de Dados›PL-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:
AIdPessoa no conjunto de valores {5,6,7,8,9}
BIdPessoa > 4 e IdPessoa < 10
CIdPessoa < 4 e IdPessoa > 10
DIdPessoa <= 4 e IdPessoa >= 10
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! 💪