Questão 1759544

Tecnologia da Informação · 2022

Questão

ID 1759544

Disciplina: Tecnologia da Informação

Assuntos: Consultas Aninhadas (IN, Exists, ALL, Some, ANY)

Ano: 2022 Banca: UFG - Universidade Federal do Goiás Órgão: Universidade Federal de Goiás


Seja um banco de dados para uma árvore genealógica simples, composto de uma única relação, conforme definido a seguir pelo comando CREATE TABLE da SQL.

Os atributos id_mae e id_pai são chaves estrangeiras que referenciam a mãe e o pai de uma pessoa, respectivamente.

CREATE TABLE pessoa (

id INT NOT NULL,

nome VARCHAR(40) NOT NULL,

id_mae INT NULL,

id_pai INT NULL,

PRIMARY KEY (id),

FOREIGN KEY(id_mae) REFERENCES pessoa(id),

FOREIGN KEY(id_pai) REFERENCES pessoa(id) )

A expressão SQL que segue foi escrita para obter informação do banco de dados:

SELECT * FROM pessoa F

WHERE EXISTS (

SELECT * FROM pessoa P

WHERE P.id_pai = F.id_pai AND F.id <> P.id)

OR EXISTS ( SELECT * FROM pessoa P

WHERE P.id_mae = F.id_mae AND F.id <> P.id)

Considerando que o símbolo '<>' representa um operador de comparação que significa 'diferente de', e a expressão 'compartilhar um parente' denota 'ter um parente em comum' (por exemplo, se duas pessoas 'compartilham um primo', significa que este é primo de ambas as pessoas), então a execução da expressão SQL dada resulta nas:

Alternativas da questão 1759544
Pular para o conteúdo principal