Questão de Banco de Dados — SQL — Quadrix 2024
- Código
- qg347499
- Banca
- Quadrix
- Órgão
- CFP
- Ano
- 2024
- Nível
- Médio
- Cargo
- Técnico Administrativo - Suporte Técnico em Informática
- CCerto
- EErrado
GabaritoC — Certo
Gabarito: CERTO. A instrução SQL apresentada é suficiente para mostrar a especialidade da psicóloga, pois utiliza corretamente a cláusula SELECT para escolher a coluna ESPECIALIDADE, a cláusula FROM para indicar a tabela PSICOLOGO e a cláusula WHERE para filtrar o registro pelo nome exato. A sintaxe está de acordo com o padrão SQL/ANSI, que é a linguagem padrão para acesso e manipulação de bancos de dados relacionais.
A linguagem SQL (Structured Query Language) é a linguagem padrão para acesso e manipulação de bancos de dados relacionais. Ela é uma linguagem declarativa, ou seja, o usuário especifica o que deseja obter, sem precisar descrever como o SGBD deve executar a consulta. Essa característica é fundamental para entender a questão: a instrução dada declara o resultado desejado (a especialidade da psicóloga) e o SGBD se encarrega de encontrar a melhor forma de executá-la.
A instrução SELECT ESPECIALIDADE FROM PSICOLOGO WHERE NOME = 'MARIA DOS ANJOS DA SILVA'; é uma consulta simples que segue a estrutura básica do comando SELECT. A cláusula SELECT especifica as colunas que devem ser retornadas (neste caso, apenas ESPECIALIDADE). A cláusula FROM indica a tabela de onde os dados serão buscados (PSICOLOGO). A cláusula WHERE filtra os registros, retornando apenas aqueles que atendem à condição especificada (NOME = 'MARIA DOS ANJOS DA SILVA').
Um ponto importante é a comparação de strings. No padrão SQL, a comparação de strings é case sensitive em muitos SGBDs (como Oracle e PostgreSQL), ou seja, diferencia maiúsculas de minúsculas. No entanto, a questão não especifica o SGBD, e a instrução usa o nome exatamente como provavelmente está armazenado no banco. Além disso, a comparação de strings com o operador = exige que o valor seja idêntico, incluindo espaços e acentuação. Como o nome 'MARIA DOS ANJOS DA SILVA' está entre aspas simples, ele é tratado como uma string literal.
A instrução é suficiente para o objetivo proposto, pois retorna a coluna ESPECIALIDADE da tabela PSICOLOGO onde o nome é exatamente 'MARIA DOS ANJOS DA SILVA'. Não há necessidade de outras cláusulas, como JOIN, GROUP BY ou ORDER BY, para atender ao requisito. A consulta é direta e eficiente.
A pegadinha que a banca poderia explorar é a confusão entre SELECT e outros comandos, ou a necessidade de usar LIKE em vez de =. No entanto, como o nome é exato, o operador = é o correto. O LIKE seria usado para busca parcial, como WHERE NOME LIKE 'MARIA%', o que não é o caso.
A instrução SQL está correta e é suficiente para mostrar a especialidade da psicóloga. A sintaxe SELECT ESPECIALIDADE FROM PSICOLOGO WHERE NOME = 'MARIA DOS ANJOS DA SILVA'; segue o padrão SQL/ANSI, selecionando a coluna desejada da tabela correta e filtrando pelo nome exato. Não há erro de sintaxe ou lógica.
A alternativa E afirma que a instrução não é suficiente, o que está incorreto. A instrução é válida e atende ao objetivo. O erro da alternativa E é considerar que a consulta não retornaria o resultado esperado, mas a sintaxe está correta e a condição WHERE filtra exatamente o registro desejado.
Gabarito: letra C
Link permanente: /questoes/qg347499