SQL: Comandos de Condição
Gabarito: letra D. Apenas os itens I (Between) e II (Equals path) são considerados comandos de condição pela banca, que retornam TRUE, FALSE ou UNKNOWN. O Between é um operador de intervalo clássico, e o Equals path (provavelmente referindo-se ao operador de igualdade ou caminho) também gera valor booleano. Já o Calculated_measure não é um comando SQL padrão, e o CASE é uma expressão condicional, não um operador lógico booleano simples.
A questão exige conhecimento dos operadores e expressões que produzem valores lógicos (TRUE, FALSE, UNKNOWN) em SQL. Vamos julgar cada item.
Item | Comando de Condição? | Retorna TRUE/FALSE/UNKNOWN? | Observação |
|---|
I (BETWEEN) | ✅ Sim | ✅ Sim | Operador de intervalo clássico; retorna booleano. |
II (Equals path) | ✅ Sim (segundo a banca) | ✅ Sim | Operador de igualdade/caminho; considerado condição. |
III (Calculated_measure) | ❌ Não | ❌ Não | Não é comando SQL padrão; conceito de BI. |
IV (CASE) | ❌ Não | ❌ Não (retorna qualquer valor) | Expressão condicional, não operador lógico booleano. |
Item I — ✅ Correto ⟵ GABARITO
O operador BETWEEN é usado na cláusula WHERE para verificar se um valor está dentro de um intervalo. Sua sintaxe é expressão BETWEEN valor1 AND valor2 e retorna TRUE se a expressão estiver entre os valores (inclusive), FALSE caso contrário, e UNKNOWN se qualquer operando for NULL. É, portanto, um comando de condição.
Item II — ✅ Correto ⟵ GABARITO
"Equals path" não é um termo padrão da SQL ANSI. A banca provavelmente se refere ao operador de igualdade = ou a uma condição de caminho (path) em alguns contextos, como `/a/b/c` em SQL/XML. Em qualquer caso, a banca considerou como comando de condição. Como o gabarito oficial inclui este item, devemos aceitá-lo como correto.
Item III — ❌ Incorreto
"Calculated_measure" não é um comando SQL. Pode ser um conceito de ferramentas de BI (medida calculada), mas não faz parte da linguagem SQL como condição. Não retorna TRUE/FALSE/UNKNOWN diretamente em uma consulta.
Item IV — ❌ Incorreto
A expressão CASE permite lógica condicional (if-then-else) e retorna um valor com base em condições. Embora seja uma estrutura condicional, não é considerada um comando de condição no sentido estrito de operador lógico (como AND, OR, NOT, BETWEEN, IN, etc.). O enunciado define "condição" como combinação de expressões e operadores lógicos que retornam TRUE, FALSE ou UNKNOWN. O CASE não se enquadra perfeitamente, pois é uma expressão que pode retornar qualquer tipo de dado. Além disso, a banca o excluiu do gabarito.
Conclusão: Estão corretos apenas os itens I e II, conforme a alternativa D.
Gabarito: letra D — apenas I e II.