Em um banco de dados Oracle aberto e em condições ideais há ...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: D - salario NOT BETWEEN 1000 AND 12000;
Para resolver essa questão, é necessário entender o comando SELECT em SQL e o uso da cláusula WHERE para filtrar registros de acordo com uma condição específica. A cláusula BETWEEN é usada para selecionar valores dentro de um intervalo determinado, incluindo os limites. A palavra-chave NOT, quando usada com BETWEEN, inverte a lógica da seleção, filtrando os valores que estão fora do intervalo especificado.
No enunciado da questão, pede-se para exibir os nomes e salários dos funcionários cujos salários estejam fora do intervalo de 1000 a 12000. Então, precisamos selecionar os registros que não estão entre esses dois valores.
A alternativa D está correta porque utiliza corretamente a expressão NOT BETWEEN, seguida dos valores 1000 e 12000, indicando o intervalo de salários que não queremos incluir. O uso do AND especifica que estamos considerando o intervalo completo entre os dois valores, e a negação NOT filtra precisamente os valores que estão fora desse intervalo.
A instrução SQL completa que corresponde à alternativa correta seria:
SELECT nome, salario FROM funcionario WHERE salario NOT BETWEEN 1000 AND 12000;
Essa instrução seleciona o nome e salário dos funcionários que possuem salário menor que 1000 ou maior que 12000, satisfazendo a condição exigida pelo enunciado da questão.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
GABARITO: D
To display the products outside the range of the previous example, use NOT BETWEEN:
SELECT * FROM Products
WHERE Price NOT BETWEEN 10 AND 20;
https://www.w3schools.com/sql/sql_between.asp
Não pode ser a letra A porque o salário não pode ao mesmo tempo ser menor do que 1000 E maior do que 12000.
Professor Arthur Mendonça:
O examidor quer os registros fora do intervalo. Para isso, teríamos algumas alternativas interessantes:
WHERE salario < 1000 OR salario > 12000; ou então
WHERE salario NOT BETWEEN 1000 AND 12000
A alternativa A pode até ter te confundido, mas o erro dela foi colocar o AND no lugar do OR. Se houvéssemos escolhido essa alternativa, a nossa consulta não iria retornar absolutamente nada, já que o valor de salario precisaria ser, ao mesmo tempo, menor que 1000 e maior que 12000.
Assim, nossa resposta é mesmo a letra D, pois é uma das alternativas que citamos logo acima.
Gabarito: D
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo