Pular para o conteúdo principal

Questão de Banco de Dados — Consultas e Comandos em SQL — Quadrix 2025

Banco de DadosConsultas e Comandos em SQL
Código
qa699069
Banca
Quadrix
Órgão
CAU MA
Ano
2025
Cargo
Ass TI ( )
A empresa ArqUrban de São Luís‑MA, especializada em projetos de arquitetura e urbanismo, mantém um banco de dados para armazenar informações sobre projetos, clientes e equipes de trabalho. Foi solicitado a um técnico de TI que analisasse algumas consultas SQL básicas feitas por um estagiário e verificar se estão corretas para obter as informações desejadas. Com base nessa situação hipotética, julgue os itens seguintes.   A consulta SELECT * FROM projetos WHERE status = ‘Em Andamento’ OR cidade = ‘São Luís’; retorna apenas os projetos que estão “Em Andamento” na cidade de São Luís.
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoE — Errado

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

Operador OR na cláusula WHERE do SQL

Gabarito: ERRADO (letra E). A consulta SELECT * FROM projetos WHERE status = 'Em Andamento' OR cidade = 'São Luís'; retorna todos os projetos que estão 'Em Andamento' OU todos os projetos da cidade de São Luís — ou seja, a união dos dois conjuntos. A afirmação do enunciado diz que retorna "apenas os projetos que estão 'Em Andamento' na cidade de São Luís", o que corresponderia à interseção dos dois critérios, obtida com o operador AND, não com o OR.

O operador OR é um operador lógico (booleano) que combina condições na cláusula WHERE. Quando você escreve condição1 OR condição2, a linha (tupla) é retornada se pelo menos uma das condições for verdadeira. Isso significa que o resultado inclui:

  • Projetos com status 'Em Andamento' (independentemente da cidade);

  • Projetos da cidade de São Luís (independentemente do status);

  • Projetos que satisfazem ambas as condições (status 'Em Andamento' E cidade 'São Luís').

Para retornar apenas os projetos que estão 'Em Andamento' na cidade de São Luís, o correto seria usar o operador AND, que exige que todas as condições sejam verdadeiras simultaneamente: SELECT * FROM projetos WHERE status = 'Em Andamento' AND cidade = 'São Luís';.

Vamos a um exemplo concreto para fixar. Imagine a tabela projetos com os seguintes registros:

id

status

cidade

1

Em Andamento

São Luís

2

Em Andamento

Imperatriz

3

Concluído

São Luís

4

Concluído

Imperatriz

  • Com WHERE status = 'Em Andamento' OR cidade = 'São Luís', o resultado seria: linhas 1, 2 e 3 (a linha 1 satisfaz as duas; a 2 satisfaz a primeira; a 3 satisfaz a segunda). A linha 4 não é retornada.

  • Com WHERE status = 'Em Andamento' AND cidade = 'São Luís', o resultado seria: apenas a linha 1.

A pegadinha clássica da banca é trocar o operador lógico: o enunciado descreve o efeito do AND (interseção) mas a consulta usa o OR (união). O candidato que lê a descrição e não analisa o comando SQL acaba marcando "Certo".

NÃO CAIA NESSA!

A banca descreve o resultado de uma interseção ("Em Andamento" na cidade de São Luís) mas a consulta usa o operador OR, que produz uma união. O candidato que confia na descrição sem executar mentalmente o WHERE cai no erro. Lembre-se: OR = pelo menos uma condição; AND = todas as condições.

PEGA ESSA DICA!

Na prova, ao julgar consultas SQL, execute mentalmente a consulta com um mini-conjunto de dados (2-3 linhas). Pergunte-se: "esta linha seria retornada?" para cada condição. Isso revela na hora se o operador é OR (união) ou AND (interseção).

Operadores lógicos SQL
  • 1OR (união)
    • Pelo menos uma condição
    • Ex.: Em Andamento OU São Luís
  • 2AND (interseção)
    • Todas as condições
    • Ex.: Em Andamento E São Luís
LEVEL · soulevel.com.br

Item — ❌ ERRADO

A afirmação está errada porque descreve o resultado de uma consulta com AND, mas o comando apresentado usa OR. O OR retorna a união dos conjuntos (projetos 'Em Andamento' ou projetos de São Luís), enquanto a descrição pede a interseção (projetos 'Em Andamento' e de São Luís).

Gabarito: letra E (ERRADO).

Link permanente: /questoes/qa699069