Pular para o conteúdo principal

Questão de Banco de Dados — SQL — CESPE / CEBRASPE 2022

Banco de DadosSQL
Código
ce146799
Banca
CESPE / CEBRASPE
Órgão
SEFAZ-SE
Ano
2022
Nível
Superior
Cargo
Auditor Técnico de Tributos (tarde)
select C.CPF as CPF, C.NOME as NOMEfrom CONTRIBUINTE as C, PARCELAMENTO as Pwhere C.CPF=P.CPFand P.TIPO=’IPVA’and P.DATAADESAO between ‘01/01/2021’ and‘31/12/2021’and P.STATUS=’ADIMPLENTE’;A respeito do código SQL (Structured Query Language) anteriormente apresentado, assinale a opção correta.
  1. AHá um erro de sintaxe em and P.DATAADESAO between ‘01/01/2021’ and ‘31/12/2021’, pois não é permitida a utilização do operador and mais de uma vez na mesma linha.
  2. BHá uma junção (JOIN) nesse código, a qual é especificada no trecho from CONTRIBUINTE as C, PARCELAMENTO as P.
  3. CO objetivo do código é mostrar o CPF e o nome de todos os contribuintes que não aderiram ao programa de parcelamento do IPVA no ano de 2021.
  4. DA palavra reservada between foi inserida no código equivocadamente, pois somente deveria ser usada nos comandos de update e delete.
  5. EA finalidade do código é mostrar o CPF e o nome de todos os contribuintes que aderiram ao parcelamento do IPVA no ano de 2021 e que estão com o seu parcelamento em dia.
Revelar gabarito e comentário

GabaritoE — A finalidade do código é mostrar o CPF e o nome de todos os contribuintes que aderiram ao parcelamento do IPVA no ano de 2021 e que estão com o seu parcelamento em dia.

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

SQL SELECT com junção implícita e filtros

Gabarito: letra E. A consulta retorna o CPF e o nome dos contribuintes que possuem um parcelamento do tipo 'IPVA', com data de adesão entre 01/01/2021 e 31/12/2021, e com status 'ADIMPLENTE' (adimplente). Isso corresponde exatamente à descrição da alternativa E: contribuintes que aderiram ao parcelamento do IPVA em 2021 e estão em dia.

A questão testa a interpretação de uma consulta SQL com junção implícita (produto cartesiano filtrado no WHERE) e múltiplas condições. Vamos analisar cada alternativa.

Alternativa A — ❌ Incorreta

Afirma que há erro de sintaxe por usar o operador AND mais de uma vez na mesma linha. Não há qualquer impedimento: a cláusula WHERE pode conter quantas condições AND forem necessárias. O código é perfeitamente válido.

Alternativa B — ❌ Incorreta

Diz que a junção (JOIN) está especificada no trecho from CONTRIBUINTE as C, PARCELAMENTO as P. Na verdade, a FROM apenas lista as tabelas; a condição de junção (o critério que relaciona as tabelas) está no WHERE (C.CPF=P.CPF). O uso de vírgula na FROM é uma sintaxe antiga que gera um produto cartesiano, mas o join propriamente dito é definido pela condição no WHERE. Portanto, a afirmação é imprecisa.

Alternativa C — ❌ Incorreta

Afirma que o código mostra contribuintes que não aderiram ao parcelamento. A consulta filtra exatamente aqueles que aderiram (data entre 2021, tipo IPVA, status adimplente). Logo, é o inverso do que a alternativa afirma.

Alternativa D — ❌ Incorreta

Sugere que BETWEEN só pode ser usado em comandos UPDATE e DELETE. Isso é falso: BETWEEN é um operador de comparação usado em qualquer cláusula que aceite expressões, principalmente no WHERE de comandos SELECT, UPDATE, DELETE, etc.

Alternativa E — ✅ Correta ⟵ GABARITO

Descreve exatamente o que a consulta faz: seleciona o CPF e o nome dos contribuintes que aderiram ao parcelamento do IPVA em 2021 (pela DATAADESAO dentro do intervalo) e que estão adimplentes (STATUS='ADIMPLENTE'). Todas as condições do WHERE convergem para esse resultado.

Gabarito: letra E.

Link permanente: /questoes/ce146799