Questão de Banco de Dados — Consultas e Comandos em SQL — CESPE / CEBRASPE 2025
- Código
- ce417222
- Banca
- CESPE / CEBRASPE
- Órgão
- PC DF
- Ano
- 2025
- Cargo
- GAAPC ( )
- CCerto
- EErrado
GabaritoE — Errado
Gabarito: Errado. O comando apresentado não é uma instrução SQL válida. A sintaxe correta para extrair todas as colunas de uma tabela com uma condição é SELECT * FROM TB_PESSOA WHERE ALTURA > 1.5. O comando EXTRACT ALL COLUMN FROM TABLE ... WHERE COLUMN ... não existe na linguagem SQL padrão, sendo uma mistura de termos fictícios que não correspondem a nenhuma cláusula real.
A linguagem SQL (Structured Query Language) é a linguagem padrão para manipulação de bancos de dados relacionais. Ela é uma linguagem declarativa, ou seja, o usuário declara o que deseja obter, sem especificar como o banco deve executar a consulta. Para realizar consultas, o comando fundamental é o SELECT, que permite projetar colunas e filtrar linhas de uma ou mais tabelas.
A estrutura básica de uma consulta SQL é composta pelas cláusulas SELECT, FROM e WHERE. A cláusula SELECT especifica quais colunas devem ser retornadas; o FROM indica a tabela de onde os dados serão extraídos; e o WHERE define as condições de filtragem das linhas. Para selecionar todas as colunas, utiliza-se o asterisco (*) como curinga. Assim, a consulta para extrair todas as colunas da tabela TB_PESSOA onde a coluna ALTURA é maior que 1.5 seria:
SELECT * FROM TB_PESSOA WHERE ALTURA > 1.5;O comando apresentado no enunciado, EXTRACT ALL COLUMN FROM TABLE TB_PESSOA WHERE COLUMN ALTURA > 1.5, não é uma sintaxe válida em nenhum SGBD relacional. Ele mistura palavras que não fazem parte do vocabulário SQL padrão, como EXTRACT, ALL COLUMN, FROM TABLE e WHERE COLUMN. A palavra EXTRACT existe em SQL, mas é utilizada para extrair partes de uma data ou hora (por exemplo, EXTRACT(YEAR FROM data)), não para selecionar colunas. Além disso, a cláusula WHERE não é seguida da palavra COLUMN; ela recebe diretamente a condição de filtragem.
A banca explora a confusão entre a sintaxe correta do SELECT e termos que parecem plausíveis, mas não existem na linguagem. O candidato que não domina a sintaxe básica do SQL pode ser induzido a acreditar que o comando é válido, especialmente porque a descrição do que ele faz (extrair colunas com uma condição) está correta. No entanto, a forma como o comando é escrito é completamente inválida.
A banca cria um comando fictício que mistura palavras que parecem SQL (EXTRACT, ALL COLUMN, FROM TABLE, WHERE COLUMN), mas não correspondem a nenhuma cláusula real. O candidato que decora a sintaxe do SELECT percebe na hora que o comando é inválido. A pegadinha está em confiar na descrição do que o comando faz, em vez de verificar a sintaxe.
O comando EXTRACT ALL COLUMN FROM TABLE TB_PESSOA WHERE COLUMN ALTURA > 1.5 não é uma instrução SQL válida. A sintaxe correta para realizar essa consulta é SELECT * FROM TB_PESSOA WHERE ALTURA > 1.5. O comando apresentado utiliza palavras que não existem na linguagem SQL padrão, como EXTRACT ALL COLUMN e WHERE COLUMN, tornando-o inválido em qualquer SGBD relacional.
Gabarito: Errado.
Link permanente: /questoes/ce417222