Pular para o conteúdo principal

Questão de Banco de Dados — SQL — Quadrix 2025

Banco de DadosSQL
Código
qg602051
Banca
Quadrix
Órgão
CRP - SP
Ano
2025
Nível
Médio
Cargo
Técnico Especializado em Suporte Administrativo - Técnico em Tecnologia da Informação e Comunicação
Uma clínica de psicologia mantém um sistema de gerenciamento de pacientes com o modelo de banco de dados relacional simplificado a seguir:

• Tabela pacientes (id, nome, data_ nascimento, diagnostico)
• Tabela consultas (id, paciente_id, data_ consulta, terapeuta, observacoes)

Um técnico da equipe de TI foi encarregado de executar tarefas de manutenção e análise de dados do banco por meio de comandos básicos de SQL.
Com base nessa situação hipotética, julgue o item seguinte.O comando SELECT nome FROM pacientes WHERE diagnostico = ‘ansiedade’; retorna os nomes dos pacientes com esse diagnóstico registrado.
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoC — Certo

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: SELECT, FROM e WHERE

Gabarito: CERTO (letra C). O comando SELECT nome FROM pacientes WHERE diagnostico = 'ansiedade'; está sintaticamente correto e semanticamente adequado: ele projeta a coluna nome da tabela pacientes, filtrando apenas as linhas em que o valor da coluna diagnostico é exatamente a string 'ansiedade'. A cláusula WHERE é exatamente o mecanismo do SQL para filtrar linhas com base em uma condição, e a comparação de igualdade com uma string literal entre aspas simples é a forma padrão de expressar essa condição.

O comando SELECT é a instrução fundamental de consulta em SQL, responsável por recuperar dados de uma ou mais tabelas. Sua sintaxe básica é SELECT colunas FROM tabela WHERE condição;. Cada parte tem um papel específico: a lista de colunas após SELECT define quais atributos (colunas) serão retornados — no caso, apenas nome; a cláusula FROM indica a tabela de onde os dados serão lidos — pacientes; e a cláusula WHERE estabelece a condição de filtragem das linhas — diagnostico = 'ansiedade'. Essa estrutura é universal e independe do SGBD (MySQL, PostgreSQL, Oracle, SQL Server etc.).

Na prática, imagine que a tabela pacientes contenha os registros: (1, 'Ana', 'ansiedade'), (2, 'Bruno', 'depressão'), (3, 'Carla', 'ansiedade'). Ao executar o comando, o banco percorre todas as linhas, verifica a condição diagnostico = 'ansiedade' e retorna apenas os nomes das linhas que a satisfazem: 'Ana' e 'Carla'. O resultado é uma tabela com uma única coluna nome, contendo esses dois valores. Se nenhum paciente tiver esse diagnóstico, o resultado será um conjunto vazio — mas o comando em si permanece válido.

É importante distinguir o papel de cada cláusula, pois é uma confusão clássica em provas. O SELECT corresponde à operação de projeção da álgebra relacional (escolhe colunas), enquanto o WHERE corresponde à operação de seleção (escolhe linhas). O FROM define a(s) tabela(s) de origem. Essa distinção é frequentemente cobrada e aparece em questões de bancas como CESPE e VUNESP. No comando em análise, a projeção é sobre nome e a seleção é sobre diagnostico = 'ansiedade'.

A pegadinha que a banca poderia explorar aqui seria inverter os papéis — afirmar que o WHERE projeta colunas ou que o SELECT filtra linhas. Mas o enunciado descreve exatamente o comportamento correto: o comando retorna os nomes dos pacientes cujo diagnóstico é 'ansiedade'. Não há qualquer erro de sintaxe (as aspas simples delimitam a string corretamente) nem de semântica. A condição de igualdade = é a forma adequada para comparar valores exatos, e o valor 'ansiedade' está entre aspas simples, como exige a sintaxe SQL para literais de texto.

Guarde o critério decisivo: WHERE filtra linhas; SELECT projeta colunas. É exatamente essa distinção que separa o comando correto de qualquer distrator que a banca possa criar.

Item — ✅ CERTO

O comando SELECT nome FROM pacientes WHERE diagnostico = 'ansiedade'; está correto e cumpre exatamente o que o enunciado afirma. A cláusula WHERE filtra as linhas da tabela pacientes cuja coluna diagnostico seja igual à string 'ansiedade', e o SELECT nome projeta apenas a coluna nome dessas linhas. O resultado é, portanto, a lista de nomes dos pacientes com esse diagnóstico registrado. Não há erro de sintaxe: as aspas simples delimitam corretamente o literal de texto, e a comparação de igualdade é a forma adequada para essa condição.

Gabarito: letra C (CERTO).

Link permanente: /questoes/qg602051