///
Considere a versão simplificada de um banco de dados utilizado por uma delegacia, conforme descrito a seguir, especificado em SQL ANSI:
create table cad_suspeito -- Cadastro de suspeitos
(
id integer primary key,
cpf char(11) unique,
nome varchar(50) not null,
endereco varchar(100),
dt_nasc date not null
);
create table cad_crime -- Cadastro de crimes
(
id integer primary key,
descricao varchar(50) unique,
tipo varchar(20)
);
create table cad_ocorrencia -- Cadastro de ocorrências
(
id_crime integer references
cad_crime(id),
id_suspeito integer references cad_suspeito,
data_ocorrencia date,
primary key(id_crime,id_suspeito)
);Um investigador, conhecedor da linguagem SQL, acessou o módulo de processamento de consultas do sistema gerenciador de banco de dados relacional utilizado pelo sistema, e especificou a seguinte consulta em SQL ANSI:
select cpf, nome from cad_suspeito s
where not exists
(
select id from cad_crime
except
select id_crime from cad_ocorrencia o
where o.id_suspeito=s.id
);A consulta apresentada revela o número do CPF e nome de suspeitos associados a