Matemática Múltipla Escolha

A consulta a seguir: A consulta serve para:

A consulta a seguir:

SELECT CODIGONIVEL, DESCRICAO
FROM NIVEL
WHERE CODIGONIVEL IN (SELECT DISTINCT CODIGONIVEL FROM CURSO);

A consulta serve para:

  1. Exibir os níveis para os quais há pelo menos um curso associado.
  2. Exibir os cursos para os quais há pelo menos um nível associado.
  3. Exibir os níveis para os quais não há curso associado.
  4. Exibir somente os níveis para os quais há mais de um curso associado.
  5. Exibir a descrição dos cursos e seus níveis.

Resolução completa

Explicação passo a passo

A
Alternativa A

Alternativa A - Exibir os níveis para os quais há pelo menos um curso associado.

Esta questão aborda a lógica de consultas SQL, especificamente o uso de subconsultas correlacionadas via operador IN. Para entender a resposta, precisamos decompor a sentença SQL apresentada.

A consulta principal busca dados na tabela NIVEL, mas aplica um filtro restritivo através da cláusula WHERE. Esse filtro utiliza uma subconsulta para determinar quais registros devem ser retornados.

Análise Detalhada

Vamos analisar a estrutura da query passo a passo:

  • Subconsulta: (SELECT DISTINCT CODIGONIVEL FROM CURSO)
  • Esta parte extrai todos os códigos de nível (CODIGONIVEL) que existem na tabela CURSO.
  • O uso de DISTINCT garante que cada código apareça apenas uma vez, independentemente de quantos cursos existam para aquele nível.
  • Resultado lógico: Uma lista de IDs de níveis que possuem associação com cursos.
  • Operador IN:
  • A cláusula WHERE CODIGONIVEL IN (...) filtra a tabela NIVEL.
  • Ela mantém apenas as linhas onde o valor de CODIGONIVEL esteja presente na lista gerada pela subconsulta.
  • Isso equivale a perguntar: "Quais níveis têm pelo menos um registro correspondente na tabela de cursos?".
  • Tabela Alvo:
  • A cláusula SELECT puxa colunas de NIVEL (CODIGONIVEL, DESCRICAO). Isso elimina qualquer opção que diga que a consulta retorna dados sobre cursos.

Análise das Alternativas

  • (A) Correta. A consulta retorna os níveis que aparecem na subconsulta, ou seja, níveis que possuem ao menos um curso vinculado.
  • (B) Incorreta. A consulta seleciona dados da tabela NIVEL, não da tabela CURSO.
  • (C) Incorreta. Para encontrar níveis sem cursos, seria necessário usar NOT IN ou verificar nulls em um LEFT JOIN.
  • (D) Incorreta. O operador IN verifica existência (sim/não), não quantidade. Para exigir "mais de um", seria necessário agrupamento e HAVING COUNT(...) > 1.
  • (E) Incorreta. A consulta não faz junção (JOIN) para trazer informações da tabela CURSO, apenas da tabela NIVEL.

Conclusão

A lógica da query é filtrar a tabela de níveis mantendo apenas aqueles que já foram citados na tabela de cursos. Portanto, ela exibe os níveis que possuem vínculo com cursos existentes no sistema.

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Matemática

Ver mais Matemática resolvidas

Tem outra questão de Matemática?

Cole o enunciado, tire uma foto ou descreva o problema — a IA resolve com explicação completa em segundos.