A expressão em SQL padrão descrita no quadro abaixo realiza . . .

Exercício 3 de 10 em: Banco de Dados / SQL

Ano: 2018 Banca: UFES Órgão: UFES Cargo: Técnico em Tecnologia da Informação

📌 A expressão em SQL padrão descrita no quadro abaixo realiza uma consulta em um banco de dados que contém, pelo menos, duas tabelas, sendo uma denominada FUNCIONARIO e outra denominada DEPENDENTE, que armazenam informações sobre funcionários de uma empresa e seus dependentes, respectivamente.

A tabela FUNCIONARIO possui pelo menos três atributos: nome_func, sobrenome_func e cpf_func, que armazenam, respectivamente, o nome, o sobrenome e o número de CPF dos funcionários.

A tabela DEPENDENTE possui pelo menos quatro atributos: nome_depen, sobrenome_depen e cpf_depen, que armazenam, respectivamente, o nome, o sobrenome e o número de CPF dos dependentes, e cpf_func_resp, que armazena o número do CPF do funcionário responsável pelos dependentes.

SELECT nome_func, sobrenome_func
FROM FUNCIONARIO
WHERE NOT EXISTS (
SELECT * FROM DEPENDENTE
WHERE cpf_func = cpf_func_resp
);

Com base nas informações apresentadas, a consulta em SQL padrão acima descrita recupera :

Parte 1 da resolução

Para solucionar o exercícios vamos supor que as tabelas FUNCIONARIO e DEPENDENTE estão preenchidas conforme ilustrado abaixo:

  • Tabela FUNCIONARIO
    • nome_funcsobrenome_funccpf_func
      JoãoAlemeida111.111.111-11
      PedroSilva111.111.111-12
      PatriciaAlves111.111.111-13
      PietraOliveira111.111.111-14
  • Tabela DEPENDENTE
    • nome_depensobrenome_depencpf_depencpf_func_resp
      CarlaSilva222.222.222-21111.111.111-12
      RicardoSilva222.222.222-22111.111.111-12
      EmanuelSilva222.222.222-23111.111.111-12
      EnricoOliveira222.222.222-24111.111.111-14
      LunaOliveira222.222.222-25111.111.111-14
Parte 2 da resolução

Apesar de a subquery SELECT * FROM DEPENDENTE WHERE cpf_func = cpf_func_resp informada no exercício, somente retornar os registros da tabela DEPENDENTE que estejam relacionados com a tabela FUNCIONARIO pela foreign key cpf_func_resp, a instrução externa NOT EXISTS é usada somente para retornar os registro que não foram encontrados no subselect.

Observação: O comando EXISTS é usado para testar se algum registro é localizado, e sendo utilizado com a instrução NOT a ideia é verificar se um registro não foi localizado na subquery.

Já pela query externa SELECT nome_func, sobrenome_func FROM FUNCIONARIO sabemos que o que será encontrado são os dados de nome e sobrenome dos funcionários da tabela FUNCIONARIO, podendo-se eliminar as alternativas B, D e E.

Por fim, entre as alternativas A e C, chega-se a resolução alternativa A, já que as restrições constantes na cláusula WHERE, conforme explicado acima e continuando a ilustração da parte 1 abaixo, irão retornar os dados de funcionários que não possuem dependentes.

  • Tabela FUNCIONARIO
    • nome_funcsobrenome_func
      JoãoAlemeida
      PatriciaAlves

Veja também as perguntas respondidas abaixo.

brand logo

Pergunta


O que é uma SQL ANSI ?

Acessar resposta.

brand logo

Pergunta


Quem criou o SQL ?

Acessar resposta.

brand logo

Pergunta


O que faz um comando select ?

Acessar resposta.


exerciciosresolvidos.com.br

Acreditamos na educação gratuita e de qualidade. Nos ajude com sua opinião, sugestão ou crítica : exerciciosresolvidosbr@gmail.com

Copyright © 2020. Built with ❤ Love