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
vu195444
Banca
VUNESP
Órgão
UNICAMP
Ano
2023
Cargo
PTIC ( )
Considere a seguinte tabela de um banco de dados relacional.   Sala (Número, Capacidade, Nome)   O comando SQL para obter o número, a capacidade e o nome das salas, considerando aquelas com capacidade maior do que 4 é:
  1. ASELECT Sala. ∗ WHERE Capacidade > 4;
  2. BSELECT Sala (Número, Capacidade, Nome) WHERE Capacidade > 4;
  3. CSELECT Sala (∗) WHERE Capacidade > 4;
  4. DSELECT Número ... Nome FROM Sala WHERE Capacidade > 4;
  5. ESELECT ∗ FROM Sala WHERE Capacidade > 4;
Revelar gabarito e comentário

GabaritoE — SELECT ∗ FROM Sala WHERE Capacidade > 4;

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

Comandos SQL: a estrutura básica do SELECT

Gabarito: letra E. A consulta correta para obter o número, a capacidade e o nome das salas com capacidade maior que 4 é SELECT * FROM Sala WHERE Capacidade > 4; — o SELECT * seleciona todas as colunas da tabela, o FROM indica a tabela de origem e o WHERE filtra as linhas conforme a condição. As demais alternativas apresentam erros de sintaxe ou omitem cláusulas essenciais.

O comando SELECT é a base da linguagem de consulta de dados (DQL) e segue uma estrutura fixa: SELECT (colunas desejadas) → FROM (tabela de origem) → WHERE (condição de filtro). O * (asterisco) é um curinga que representa todas as colunas da tabela, dispensando a necessidade de listá-las uma a uma. A cláusula WHERE é opcional, mas quando presente, define o predicado que as linhas devem satisfazer para serem retornadas.

Na prática, ao executar SELECT * FROM Sala WHERE Capacidade > 4;, o banco de dados percorre a tabela Sala, avalia cada linha e retorna apenas aquelas cujo valor da coluna Capacidade seja estritamente maior que 4. Como o * foi usado, todas as colunas (Número, Capacidade, Nome) aparecem no resultado — exatamente o que o enunciado pede.

A pegadinha desta questão está na sintaxe: várias alternativas tentam imitar a estrutura do SELECT, mas erram ao colocar o nome da tabela ou o asterisco entre parênteses, ou ao omitir a cláusula FROM. O padrão correto é sempre SELECT <colunas> FROM <tabela> [WHERE <condição>] — sem parênteses ao redor do * ou do nome da tabela.

Guarde a estrutura canônica do SELECT — é nela que as alternativas se dividem: as incorretas violam a ordem ou a sintaxe das cláusulas, enquanto a correta segue exatamente o padrão SELECT * FROM tabela WHERE condição.

  1. 1SELECT (colunas)
  2. 2FROM (tabela)
  3. 3WHERE (filtro)
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

SELECT Sala.∗ WHERE Capacidade > 4; — falta a cláusula FROM. A sintaxe correta exige indicar a tabela de origem após o FROM, não antes do WHERE. Além disso, Sala.∗ não é uma forma válida de referenciar todas as colunas; o correto é apenas *.

Alternativa B — ❌ Incorreta

SELECT Sala (Número, Capacidade, Nome) WHERE Capacidade > 4; — a lista de colunas não deve vir entre parênteses após o nome da tabela. A forma correta seria SELECT Número, Capacidade, Nome FROM Sala WHERE Capacidade > 4;. Também falta a cláusula FROM.

Alternativa C — ❌ Incorreta

SELECT Sala (∗) WHERE Capacidade > 4; — o asterisco não deve ficar entre parênteses, e o nome da tabela não deve preceder a lista de colunas. A sintaxe correta é SELECT * FROM Sala WHERE Capacidade > 4;. Novamente, falta o FROM.

Alternativa D — ❌ Incorreta

SELECT Número ... Nome FROM Sala WHERE Capacidade > 4; — o uso de ... (reticências) não é válido em SQL para indicar colunas intermediárias. A forma correta seria listar todas as colunas explicitamente: SELECT Número, Capacidade, Nome FROM Sala WHERE Capacidade > 4;.

Alternativa E — ✅ Correta ⟵ GABARITO

SELECT * FROM Sala WHERE Capacidade > 4; — esta é a sintaxe canônica: SELECT * seleciona todas as colunas, FROM Sala indica a tabela de origem e WHERE Capacidade > 4 filtra as linhas com capacidade maior que 4. O resultado trará Número, Capacidade e Nome das salas que atendem à condição.

PEGA ESSA DICA!

Na hora da prova, desconfie de qualquer alternativa que coloque o nome da tabela ou o asterisco entre parênteses, ou que omita a cláusula FROM. A estrutura do SELECT é rígida: SELECT <colunas> FROM <tabela> [WHERE <condição>]. Memorize esse esqueleto e você elimina rapidamente os distratores.

Gabarito: letra E

Link permanente: /questoes/vu195444