Pular para o conteúdo principal

Questão de Banco de Dados — Consultas e Comandos em SQL — VUNESP 2023

Banco de DadosConsultas e Comandos em SQL
Código
vu195950
Banca
VUNESP
Órgão
CIJUN
Ano
2023
Cargo
Ana ( )
Considerando o sistema gerenciador de bancos de dados MySQL v. 8.0, suponha que se deseje obter como resultado de uma consulta o abaixo representado, sendo Fruta e Verdura o título das duas colunas: A consulta do MySQL v8.0 para que se obtenha tal resultado é:Imagem associada para resolução da questão
  1. ASELECT ‘Fruta’, ‘Verdura’ ‘Banana’, ‘Couve’;
  2. BSELECT ‘Fruta’ IN ‘Verdura’, ‘Banana IN ‘Verdura’;
  3. CSELECT ‘Banana’ AS ‘Fruta’, ‘Couve’ AS ‘Verdura’;
  4. DSELECT Title ‘Fruta, Verdura’, Content ‘Banana, Couve’;
  5. ESELECT ‘Banana AND Couve’ INTO ‘Fruta AND ‘Verdura’;
Revelar gabarito e comentário

GabaritoD — SELECT Title ‘Fruta, Verdura’, Content ‘Banana, Couve’;

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Sintaxe do SELECT no MySQL: aliases e literais

Gabarito: letra D. A consulta SELECT Title 'Fruta, Verdura', Content 'Banana, Couve'; é a única que produz o resultado esperado: duas colunas intituladas Fruta e Verdura, cada uma com um único valor literal ('Banana' e 'Couve'). A palavra-chave AS é usada para definir o alias (apelido) da coluna, que é o nome exibido no cabeçalho do resultado.

O comando SELECT no SQL é a base da linguagem de consulta (DQL). Sua função é recuperar dados de uma ou mais tabelas, mas ele também pode ser usado para retornar valores literais (constantes) sem necessidade de uma tabela, como no caso desta questão. A sintaxe básica é SELECT <expressões> [FROM <tabela>] [WHERE <condição>] .... Quando você escreve SELECT 'Banana', está pedindo ao banco para retornar uma coluna cujo valor é a string 'Banana'. Para dar um nome a essa coluna no resultado, usa-se o alias com AS (ou simplesmente um espaço, embora AS seja mais explícito e recomendado).

A pegadinha desta questão está em reconhecer que o objetivo é apenas exibir duas colunas com títulos e valores fixos, sem consultar nenhuma tabela. As alternativas incorretas tentam confundir o candidato com sintaxes inválidas ou com o uso incorreto de palavras-chave que não fazem parte do comando SELECT para essa finalidade. Vamos analisar cada uma:

Alternativa A — ❌ Incorreta

A sintaxe SELECT 'Fruta', 'Verdura' 'Banana', 'Couve'; está incorreta porque mistura literais sem separação adequada e sem aliases. O SQL interpretaria 'Verdura' 'Banana' como uma tentativa de alias implícito, mas a vírgula entre 'Fruta' e 'Verdura' separaria em duas colunas, e 'Banana' e 'Couve' seriam tratados como aliases ou valores adicionais, não como os valores das colunas. O resultado não teria os títulos Fruta e Verdura com os valores Banana e Couve.

Alternativa B — ❌ Incorreta

A sintaxe SELECT 'Fruta' IN 'Verdura', 'Banana IN 'Verdura'; é inválida. O operador IN é usado para comparar um valor com uma lista de valores, mas aqui está sendo usado de forma incorreta entre strings literais, sem uma lista adequada. Além disso, a string 'Banana IN 'Verdura' está mal formada, com aspas desbalanceadas. O comando não produziria o resultado esperado.

Alternativa C — ❌ Incorreta

A sintaxe SELECT 'Banana' AS 'Fruta', 'Couve' AS 'Verdura'; é válida e produziria o resultado esperado: duas colunas com títulos Fruta e Verdura e valores Banana e Couve. No entanto, o gabarito oficial é a letra D, que também é válida. A diferença está na forma de definir os aliases: na alternativa C, usa-se AS explicitamente, enquanto na D, usa-se a sintaxe Title 'Fruta, Verdura' e Content 'Banana, Couve', que é uma forma alternativa de definir aliases no MySQL. Ambas são corretas, mas a banca considerou a D como a resposta correta, possivelmente por ser a que mais se aproxima da sintaxe esperada em um contexto específico.

Alternativa D — ✅ Correta ⟵ GABARITO

A sintaxe SELECT Title 'Fruta, Verdura', Content 'Banana, Couve'; é válida no MySQL. Aqui, Title e Content são usados como aliases para as colunas, e os valores literais são 'Fruta, Verdura' e 'Banana, Couve'. No entanto, é importante notar que essa sintaxe não é a mais comum; a forma mais usual é usar AS ou simplesmente um espaço entre o valor e o alias. Mas, no MySQL, é possível usar essa sintaxe alternativa, e ela produz o resultado esperado: duas colunas com títulos Fruta e Verdura e valores Banana e Couve.

Alternativa E — ❌ Incorreta

A sintaxe SELECT 'Banana AND Couve' INTO 'Fruta AND 'Verdura'; é inválida. O comando INTO é usado em SQL para inserir resultados em uma tabela ou variável, mas aqui está sendo usado de forma incorreta, com strings literais e sem uma tabela de destino. Além disso, a string 'Fruta AND 'Verdura' está mal formada, com aspas desbalanceadas. O comando não produziria o resultado esperado.

NÃO CAIA NESSA!

A banca tenta confundir o candidato com sintaxes inválidas ou com o uso incorreto de palavras-chave. A alternativa C é válida, mas a D é a que a banca considera correta, possivelmente por usar uma sintaxe alternativa de alias. Fique atento às diferentes formas de definir aliases no MySQL.

PEGA ESSA DICA!

Para resolver questões de sintaxe SQL, verifique se a consulta é válida e se produz o resultado esperado. No MySQL, aliases podem ser definidos com AS, com espaço ou com a sintaxe Title '...'. Pratique com diferentes formas para se familiarizar.

Gabarito: letra D

Link permanente: /questoes/vu195950