Considere uma tabela para controle dos funcionários d...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa correta é a E. Vamos entender o porquê:
A expressão "WHERE
" no SQL é utilizada para filtrar registros que atendem a uma condição específica. Neste caso, precisamos excluir registros onde o campo fcargo
é igual a 'Gerente' ou 'Analista', e garantir que o campo fnome
termine com 'la' ou 'ma'.
Para representar a condição de não pertencer a um conjunto de valores, utilizamos o operador "NOT IN
". Isso garante que o campo fcargo
não possa ter nenhum dos valores listados entre parênteses.
O operador "LIKE
" é usado para filtrar registros que atendem a um padrão específico em uma string. O símbolo de percentual '%
' é um coringa no SQL que representa qualquer sequência de caracteres. Logo, '%la
' busca por campos que terminam com 'la'.
É essencial usar o operador "AND
" para garantir que ambas as condições – o cargo não ser 'Gerente' ou 'Analista' e o nome terminar com 'la' ou 'ma' – devem ser verdadeiras. O operador "OR
" é usado porque queremos encontrar nomes que terminem com 'la' ou 'ma'.
A alternativa E está correta porque utiliza corretamente o operador "NOT IN
" para excluir os cargos 'Gerente' e 'Analista', e aplica o operador "LIKE
" com '%la
' e '%ma
' para filtrar os nomes que terminem com 'la' ou 'ma'. Além disso, ela usa o operador "OR
" para aceitar nomes que atendam a qualquer uma das condições de final de string, e declara essa condição após o "AND
" para garantir que ambas as condições do "WHERE
" sejam aplicadas corretamente.
Portanto, a consulta SQL correta é: SELECT * FROM func WHERE fcargo NOT IN ('Gerente', 'Analista') AND (fnome LIKE '%la' OR fnome LIKE '%ma');
Essa consulta retorna todos os registros de funcionários que não são gerentes ou analistas e cujos nomes terminam com 'la' ou 'ma'.
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
Recuperar todos os dados a parti de func onde fcargo não em ('gerente',',analista') e fnome como '%fnome como '%ma';
sistema básico de seleção de dados, mas as alternativas fazem com que você se confunda. Cuidado!
Letra E
Por elmininação a E
O operador IN é utilizado quando desejamos consultar uma tabela, filtrando o valor de um de seus campos a partir de uma lista e possibilidades.
Enquanto o operador de comparação de igualdade (=) avalia se os dois valores são iguais, o IN permite verificar se o valor de um campo se encontra em uma lista.
Sua sintaxe é a seguinte:
SELECT campos FROM tabela WHERE campo IN (valor1, valor2, valor3);
Usando OR sem parênteses vai dar certinho...pode confiar...
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo