Pular para o conteúdo principal

Questão de Banco de Dados — Consultas e Comandos em SQL — VUNESP 2024

Banco de DadosConsultas e Comandos em SQL
Código
vu212094
Banca
VUNESP
Órgão
Pref Aparecida (SP)
Ano
2024
Cargo
Ana ( )
Considerando o sistema gerenciador de banco de dados Oracle 21c, quando da escrita de expressões, deve-se considerar a ordem de precedência para avaliação dessas expressões. Dessa forma, é correto afirmar que
  1. Aas operações de comparação têm maior precedência que a operação de exponenciação.
  2. Bas operações de multiplicação e divisão têm menor precedência do que a operação de inclusão (OR).
  3. Ca operação de exponenciação tem maior precedência do que a operação de negação (NOT).
  4. Da operação de concatenação tem menor precedência do que a operação de conjunção (AND).
  5. Ea operação de negação (NOT) tem maior precedência do que a operação de subtração.
Revelar gabarito e comentário

GabaritoC — a operação de exponenciação tem maior precedência do que a operação de negação (NOT).

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

Precedência de operadores no Oracle SQL

Gabarito: letra C. No Oracle, a operação de exponenciação (**) tem maior precedência do que a operação de negação lógica (NOT). A ordem de precedência dos operadores no Oracle segue uma hierarquia bem definida, e a alternativa C espelha corretamente essa hierarquia.

A precedência de operadores determina a ordem em que as operações são avaliadas em uma expressão. No Oracle, assim como em outras linguagens, operadores com maior precedência são avaliados primeiro. Quando dois operadores têm a mesma precedência, a avaliação ocorre da esquerda para a direita (exceto para operadores unários, que são avaliados da direita para a esquerda).

A hierarquia de precedência no Oracle, da maior para a menor, é a seguinte:

  1. Operadores unários (+, -, PRIOR, CONNECT BY, etc.) e exponenciação (**)

  2. Multiplicação (*) e divisão (/)

  3. Adição (+) e subtração (-)

  4. Concatenação (||)

  5. Comparação (=, <, >, <=, >=, <>, !=, LIKE, IN, IS NULL, BETWEEN, etc.)

  6. NOT (negação lógica)

  7. AND (conjunção lógica)

  8. OR (inclusão lógica)

Essa ordem é crucial para escrever expressões corretas. Por exemplo, na expressão 2 + 3 * 4, a multiplicação é avaliada primeiro, resultando em 2 + 12 = 14, e não (2 + 3) * 4 = 20. Da mesma forma, em NOT 1 = 1, a comparação é avaliada antes da negação, resultando em NOT (1 = 1) = NOT TRUE = FALSE.

A banca explora exatamente essa hierarquia, invertendo a posição de operadores em cada alternativa. Para acertar, é preciso memorizar a ordem e, principalmente, entender que operadores aritméticos e de concatenação têm precedência sobre operadores lógicos, e que dentro dos lógicos, NOT > AND > OR.

Alternativa A — ❌ Incorreta

Afirma que operações de comparação têm maior precedência que exponenciação. Na verdade, a exponenciação () tem precedência maior** que as operações de comparação. A ordem correta é: exponenciação → multiplicação/divisão → adição/subtração → concatenação → comparação → NOT → AND → OR. A banca inverteu a hierarquia, colocando a comparação acima da exponenciação.

Alternativa B — ❌ Incorreta

Afirma que multiplicação e divisão têm menor precedência que OR. Isso é o oposto da realidade. Multiplicação e divisão têm precedência muito maior que OR. Na hierarquia, multiplicação/divisão estão no nível 2, enquanto OR está no nível 8 (o mais baixo). A banca inverteu completamente a ordem.

Alternativa C — ✅ Correta ⟵ GABARITO

Afirma que exponenciação tem maior precedência que NOT. Isso está correto. A exponenciação () está no nível mais alto de precedência (junto com operadores unários), enquanto NOT está no nível 6. Portanto, em uma expressão como `NOT 2 3, a exponenciação é avaliada primeiro (2 ** 3 = 8), e depois a negação (NOT 8`).

Alternativa D — ❌ Incorreta

Afirma que concatenação tem menor precedência que AND. Na verdade, a concatenação (||) tem precedência maior que AND. A concatenação está no nível 4, enquanto AND está no nível 7. A banca inverteu a ordem, colocando a concatenação abaixo de AND.

Alternativa E — ❌ Incorreta

Afirma que NOT tem maior precedência que subtração. Isso é falso. A subtração (-) tem precedência maior que NOT. A subtração está no nível 3, enquanto NOT está no nível 6. A banca inverteu a hierarquia, colocando NOT acima da subtração.

NÃO CAIA NESSA!

A banca explora a confusão entre a precedência de operadores aritméticos e lógicos. O candidato que não memorizou a hierarquia completa tende a achar que operadores lógicos (NOT, AND, OR) têm precedência sobre aritméticos, mas é exatamente o contrário. A ordem correta é: aritméticos > concatenação > comparação > NOT > AND > OR. Memorize essa sequência e você não cairá nessa pegadinha.

PEGA ESSA DICA!

Para fixar a ordem de precedência, use o mnemônico "A C C N A O" (Aritméticos, Concatenação, Comparação, NOT, AND, OR). Ou, em uma frase: "Aritméticos Concatenação Comparação NOT AND OR". Na prova, se a questão envolver expressões com operadores mistos, escreva a hierarquia no rascunho antes de analisar as alternativas.

Gabarito: letra C

Link permanente: /questoes/vu212094