Pular para o conteúdo principal

Questão de Banco de Dados — MySQL — Avança SP 2023

Banco de DadosMySQL
Código
qq830792
Banca
Avança SP
Órgão
DAE-Santa Bárbara d’Oeste
Ano
2023
Nível
Médio
Cargo
Técnico em Tecnologia da Informação
Qual a estrutura da consulta em MySQL?
  1. ASELECT campo1, campo2, … FROM tabela1, tabela2, … WHERE condição;
  2. BSELECT campo1, campo2, … FROM tabela INSERT INTO condição;
  3. CSELECT tabela1, tabela2, … FROM campo1, campo2, … WHERE condição;
  4. DSELECT campo1, campo2, … WHERE tabela1, tabela2, … condição;
  5. ESELECT tabela1, tabela2, … FROM campo1, campo2, … WHERE condição;
Revelar gabarito e comentário

GabaritoA — SELECT campo1, campo2, … FROM tabela1, tabela2, … WHERE condição;

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”.

Estrutura da consulta SELECT no MySQL

Gabarito: letra A. A estrutura básica de uma consulta em MySQL é SELECT campo1, campo2, … FROM tabela1, tabela2, … WHERE condição; — a cláusula SELECT lista as colunas, FROM indica as tabelas e WHERE filtra os registros. As demais alternativas invertem a ordem ou trocam os elementos, o que torna a sintaxe inválida.

A linguagem SQL (Structured Query Language) é o padrão para manipular bancos de dados relacionais, e o MySQL é um dos SGBDs mais populares que a implementam. Toda consulta de leitura de dados começa com a palavra-chave SELECT, que define quais colunas serão retornadas. Em seguida, a cláusula FROM especifica de quais tabelas os dados serão lidos. Por fim, a cláusula WHERE é opcional e serve para filtrar quais linhas atendem a uma condição. Essa ordem é fixa: não se pode colocar FROM antes de SELECT, nem WHERE antes de FROM.

Por exemplo, para buscar o nome e o salário dos funcionários do departamento 10, a consulta seria:

SELECT nome, salario FROM funcionarios WHERE departamento = 10;

Aqui, SELECT nome, salario indica as colunas, FROM funcionarios indica a tabela, e WHERE departamento = 10 filtra os registros. Se não houver condição, o WHERE pode ser omitido: SELECT * FROM funcionarios; retorna todas as colunas e todas as linhas.

A pegadinha desta questão é justamente a ordem das cláusulas e a função de cada elemento. O candidato que decora a sintaxe sem entender o papel de cada parte pode se confundir com alternativas que trocam campo por tabela ou que colocam WHERE no lugar errado. A banca explora exatamente essa confusão.

Guarde a sequência lógica: SELECT (o quê) → FROM (de onde) → WHERE (filtro). É esse critério que vai separar a alternativa correta das incorretas.

  1. 1SELECT (o quê)
  2. 2FROM (de onde)
  3. 3WHERE (filtro)
LEVEL · soulevel.com.br

Alternativa A — ✅ Correta ⟵ GABARITO

Esta é a única que segue a sintaxe padrão do SQL: SELECT campo1, campo2, … FROM tabela1, tabela2, … WHERE condição;. A ordem está correta: primeiro as colunas, depois as tabelas, e por fim a condição de filtro. É exatamente a estrutura ensinada em qualquer material de SQL e aceita pelo MySQL.

Alternativa B — ❌ Incorreta

A alternativa B mistura cláusulas de forma inválida: SELECT campo1, campo2, … FROM tabela INSERT INTO condição;. O comando INSERT INTO é usado para inserir dados em uma tabela, não para consultar. Além disso, a estrutura está completamente fora do padrão: não faz sentido ter INSERT INTO dentro de um SELECT. O correto seria apenas SELECT ... FROM ... WHERE ....

Alternativa C — ❌ Incorreta

A alternativa C inverte os papéis de campo e tabela: SELECT tabela1, tabela2, … FROM campo1, campo2, … WHERE condição;. Na cláusula SELECT devem vir as colunas (campos), e na cláusula FROM devem vir as tabelas. Aqui está tudo trocado, o que torna a consulta semanticamente incorreta e sintaticamente inválida.

Alternativa D — ❌ Incorreta

A alternativa D coloca WHERE antes de FROM: SELECT campo1, campo2, … WHERE tabela1, tabela2, … condição;. A ordem correta é FROM antes de WHERE. Além disso, a condição do WHERE deveria ser uma expressão lógica (ex.: coluna = valor), não uma lista de tabelas. A estrutura está completamente fora do padrão.

Alternativa E — ❌ Incorreta

A alternativa E repete o mesmo erro da C: SELECT tabela1, tabela2, … FROM campo1, campo2, … WHERE condição;. Novamente, SELECT deve listar colunas e FROM deve listar tabelas. A inversão torna a consulta inválida.

Gabarito: letra A

Link permanente: /questoes/qq830792