Considere a tabela Funcionario e a consulta, a seguir: Assi...

Próximas questões
Com base no mesmo assunto
Ano: 2008 Banca: UECE-CEV Órgão: CEGÁS Prova: UECE-CEV - 2008 - CEGÁS - Analista |
Q2927053 Noções de Informática

Considere a tabela Funcionario e a consulta, a seguir:

Imagem associada para resolução da questão

Assinale a alternativa que contém os valores exibidos, após a execução da consulta.

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A questão aborda o tema de consultas SQL em bancos de dados, especificamente o uso da cláusula WHERE com subconsultas (ANY) e condições lógicas para filtrar registros. A consulta SQL apresentada seleciona certos valores da coluna mat da tabela Funcionario com base em critérios definidos. O candidato precisa entender como as subconsultas e as condições lógicas influenciam o resultado final da consulta.

Análise da Consulta SQL

A consulta SQL apresentada é:

SELECT mat FROM Funcionario

WHERE NOT mat = ANY (

    SELECT mat FROM Funcionario

    WHERE (sal < 800 OR sal > 1000)

    OR (nom IN ('Laura', 'Pedro'))

)

Vamos analisar os critérios um a um.

1.       Subconsulta Interna:

o   A subconsulta SELECT mat FROM Funcionario WHERE (sal < 800 OR sal > 1000) OR (nom IN ('Laura', 'Pedro')) retorna todos os mat de funcionários que:

§  Têm sal menor que 800 ou maior que 1000, ou

§  Têm o nom igual a 'Laura' ou 'Pedro'.

2.       Resultado da Subconsulta Interna:

o   Avaliamos cada funcionário para ver quais atendem a uma dessas condições:

§  Pedro (mat 100) tem sal = 1000 — não atende ao critério de salário, mas o nome é 'Pedro', então é incluído.

§  Maria (mat 200) tem sal = 1200 — atende ao critério sal > 1000, então é incluída.

§  Joana (mat 300) tem sal = 800 — não atende a nenhum critério, então é excluída.

§  Laura (mat 400) tem sal = 700 — atende ao critério de nome ('Laura'), então é incluída.

§  Edna (mat 500) tem sal = 850 — não atende a nenhum critério, então é excluída.

§  Edilson (mat 600) tem sal = 900 — não atende a nenhum critério, então é excluído.

§  Geraldo (mat 700) tem sal = 1100 — atende ao critério sal > 1000, então é incluído.

o   Resultado da subconsulta: {100, 200, 400, 700}.

3.       Consulta Externa:

o   A condição NOT mat = ANY (...) implica que a consulta externa selecionará todos os mat que não estão no conjunto {100, 200, 400, 700}.

4.       Resultado da Consulta Externa:

o   Excluindo os mat {100, 200, 400, 700}, restam os valores {300, 500, 600}.

Análise das Alternativas

A partir dos valores obtidos na consulta externa ({300, 500, 600}), analisamos as opções:

A) 500, 600 — Incorreta. Exclui 300, que também deveria estar incluído.

B) 300, 500, 600 — Correta. Todos os valores restantes após a exclusão dos mat na subconsulta estão presentes.

C) 100, 300, 500, 600 — Incorreta. Inclui 100, que foi excluído na subconsulta.

D) 100, 200, 400, 700 — Incorreta. Lista exatamente os valores excluídos pela subconsulta.



GABARITO DA BANCA: ALTERNATIVA B

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo