Questão nº 33
Questão de Informática · FCC TRT6 2018 (nº 33)
Em uma tabela chamada Funcionario de um banco de dados Oracle, em que estão cadastrados os dados abaixo, considere que todos os campos são do tipo varchar2 e que o campo idFuncionario é chave primária.

Para exibir os dados apenas dos funcionários cujos telefones iniciem com o DDD (21), utiliza-se a instrução
- A`SELECT * FROM Funcionario LIKE telefoneFuncionario = "(21)%";`
- B`SELECT FROM Funcionario WHERE telefoneFuncionario LIKE "(21)";`
- C`SELECT * FROM funcionario WHERE telefoneFuncionario START BY "(21)";`
- D`SELECT * FROM Funcionario WHO telefoneFuncionario START BY "(21)";`
- E`SELECT * FROM Funcionario WHERE telefoneFuncionario LIKE "(21)%";` (alternativa correta)
Resposta comentada
Gabarito Alternativa E
Para filtrar dados em SQL usando um padrão (como "começa com"), usamos o operador LIKE junto com caracteres curinga. O caractere curinga % (porcentagem) representa zero ou mais caracteres, e _ (underscore) representa exatamente um caractere.
- (A) Incorreta: A sintaxe está errada; o operador
LIKEdeve ser usado dentro da cláusulaWHEREe não diretamente apósFROM, e a comparação=" (21)%"não é comoLIKEfunciona. - (B) Incorreta: Esta é a armadilha. O caractere curinga
*(asterisco) não é usado no SQL padrão para o operadorLIKE; o correto é%. O*é comum em sistemas de arquivos ou expressões regulares, mas não em SQLLIKE. - (C) Incorreta:
START BYnão é um operador SQL padrão para correspondência de padrões em uma cláusulaWHERE. - (D) Incorreta: A palavra-chave
WHOestá incorreta; o correto éWHERE. Além disso,START BYestá errado, como na alternativa C. - (E) Correta: Esta instrução está sintaticamente correta e usa o operador
LIKEcom o caractere curinga%para encontrar todos os telefones que começam com "(21)", seguido de qualquer sequência de caracteres.
Fonte: FCC TRT6 2018 Analista Judiciário – Área Apoio Especializado – Especialidade Tecnologia da Informação (Caderno Tipo 1). Reproduzida para fins de estudo.