Pular para o conteúdo principal

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

Banco de DadosSQL
Código
qg597569
Banca
Quadrix
Órgão
CREMAM
Ano
2025
Nível
Médio
Cargo
Assistente de Tecnologia da Informação
O setor de TI de um hospital precisa gerar relatórios diários com o nome dos pacientes e suas respectivas datas de internação. Esses dados estão armazenados em uma tabela chamada pacientes, com as colunas id_paciente, nome, data_internacao e diagnostico.Com base nessa situação hipotética, assinale a opção que apresenta a instrução SQL que retorna corretamente apenas o nome e a data de internação de todos os pacientes internados no hospital.
  1. ASELECT nome AND data_internacao FROM pacientes;
  2. BSELECT nome, data_internacao FROM pacientes;
  3. CSELECT nome FROM pacientes AND data_ internacao;
  4. DSELECT nome FROM pacientes WHERE data_ internacao;
  5. ESELECT nome OR data_internacao FROM pacientes;
Revelar gabarito e comentário

GabaritoB — SELECT nome, data_internacao FROM pacientes;

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 comando SELECT no SQL

Gabarito: letra B. A instrução SELECT nome, data_internacao FROM pacientes; é a única que segue corretamente a sintaxe do comando SELECT, listando as colunas desejadas separadas por vírgula após a palavra-chave SELECT e indicando a tabela de origem com a cláusula FROM. As demais alternativas empregam operadores lógicos (AND, OR) ou cláusulas de forma incorreta, gerando erro de sintaxe ou não retornando os dados esperados.

O comando SELECT é a instrução fundamental da linguagem SQL para consultar dados em um banco de dados relacional. Sua sintaxe básica é: SELECT coluna1, coluna2, ... FROM nome_da_tabela;. As colunas a serem retornadas são listadas após SELECT, separadas por vírgula, e a tabela de onde os dados serão lidos é indicada após FROM. Essa estrutura é universal nos principais SGBDs (MySQL, PostgreSQL, SQL Server, Oracle etc.).

A confusão mais comum nesse tipo de questão é misturar a sintaxe do SELECT com a dos operadores lógicos AND e OR, que são usados apenas na cláusula WHERE para combinar condições de filtro. Por exemplo, para selecionar pacientes internados em uma data específica, usaríamos WHERE data_internacao = '2025-01-01'; o AND e o OR apareceriam para combinar múltiplas condições, como WHERE diagnostico = 'COVID' AND data_internacao > '2025-01-01'. Mas, quando o objetivo é apenas listar colunas, não há espaço para esses operadores na lista de seleção.

Outra pegadinha recorrente é confundir a cláusula WHERE com a lista de colunas. O WHERE é usado para filtrar linhas com base em condições, e não para selecionar colunas. Na alternativa D, por exemplo, SELECT nome FROM pacientes WHERE data_internacao; está incorreto porque data_internacao é uma coluna, não uma condição válida — faltaria um operador de comparação (como =, >, BETWEEN).

Para fixar: a estrutura do SELECT é sempre SELECT <colunas> FROM <tabela> [WHERE <condição>]. As colunas são separadas por vírgula, e os operadores lógicos (AND, OR, NOT) só aparecem dentro do WHERE, nunca na lista de seleção. É exatamente esse critério que separa a alternativa correta das demais.

1Lista de colunas
Separadas por vírgula
⛔ Sem AND/OR
2FROM
Nome da tabela
3WHERE (opcional)
Condição de filtro
Usa AND/OR
Exige operador de comparação
SELECT (sintaxe)
LEVELsoulevel.com.br
SELECT (sintaxe): Lista de colunas (Separadas por vírgula, ⛔ Sem AND/OR); FROM (Nome da tabela); WHERE (opcional) (Condição de filtro, Usa AND/OR, Exige operador de comparação)

Alternativa A — ❌ Incorreta

A instrução SELECT nome AND data_internacao FROM pacientes; usa o operador lógico AND entre as colunas, o que é inválido. O AND é um operador booleano usado para combinar condições na cláusula WHERE, não para separar colunas na lista de seleção. A sintaxe correta exige vírgula entre os nomes das colunas.

Alternativa B — ✅ Correta ⟵ GABARITO

A instrução SELECT nome, data_internacao FROM pacientes; segue exatamente a sintaxe padrão do SELECT: lista as colunas desejadas (nome e data_internacao) separadas por vírgula e indica a tabela de origem (pacientes) com a cláusula FROM. Como não há condição de filtro, não é necessário WHERE. Essa consulta retorna apenas o nome e a data de internação de todos os pacientes, conforme solicitado.

Alternativa C — ❌ Incorreta

A instrução SELECT nome FROM pacientes AND data_internacao; está incorreta por dois motivos: primeiro, a cláusula FROM deve ser seguida apenas do nome da tabela, e não de uma coluna; segundo, o operador AND não pode ser usado para conectar a tabela a uma coluna. O correto seria listar as colunas após SELECT, separadas por vírgula, e indicar a tabela após FROM.

Alternativa D — ❌ Incorreta

A instrução SELECT nome FROM pacientes WHERE data_internacao; está incorreta porque a cláusula WHERE exige uma condição válida, como data_internacao = '2025-01-01' ou data_internacao IS NOT NULL. Usar apenas o nome da coluna sem operador de comparação não constitui uma condição booleana, gerando erro de sintaxe. Além disso, a consulta não retornaria a coluna data_internacao, pois ela não está na lista de seleção.

Alternativa E — ❌ Incorreta

A instrução SELECT nome OR data_internacao FROM pacientes; usa o operador lógico OR entre as colunas, o que é inválido. O OR é um operador booleano usado para combinar condições na cláusula WHERE, não para separar colunas na lista de seleção. A sintaxe correta exige vírgula entre os nomes das colunas.

NÃO CAIA NESSA!

A banca explora a confusão entre a lista de colunas do SELECT e os operadores lógicos AND/OR, que só aparecem no WHERE. Lembre-se: vírgula separa colunas; AND/OR combinam condições. Com treino, você identifica essa troca de imediato.

PEGA ESSA DICA!

Na prova, ao ver uma consulta SQL, verifique primeiro se as colunas estão separadas por vírgula e se o WHERE (quando presente) contém uma condição válida. Se aparecer AND/OR fora do WHERE, a alternativa está errada.

Gabarito: letra B

Link permanente: /questoes/qg597569