Questões Informática SQL

A execução do comando SQL select count(*) from concurso c left ...

Responda: A execução do comando SQL select count(*) from concurso c left join (select i.id_concurso,cd.id_candidato from inscrição i inner join candidato cd on i.id_cand...


1Q237314 | Informática, SQL, Profissional Básico Análise de Sistemas Suporte, BNDES, NCE UFRJ

Texto associado.

Nas questões 51 até 54 considere um banco de dados
simplificado referente ao controle de concursos, constituído
pelas tabelas Concurso, Cargo, Candidato e Inscrição,
criadas pelo script SQL mostrado abaixo.

create table concurso (
id_concurso int not null primary key,
concurso varchar(60) not null,
inscritos int default 0);

create table cargo (
id_cargo int not null primary key,
cargo varchar(60) not null,
id_concurso int not null,
constraint ci0 foreign key (id_concurso)
references concurso (id_concurso));

create table candidato (
id_candidato int not null primary key
clustered,
nome varchar(40) not null);

create table inscrição
(
id_concurso int not null,
id_candidato int not null,
id_cargo int,
pontos int,
constraint ci1 foreign key (id_concurso)
references concurso (id_concurso),
constraint ci2 foreign key (id_candidato)
references candidato (id_candidato),
constraint ci3 foreign key (id_cargo)
references cargo (id_cargo),
constraint ci4 primary key
(id_concurso,id_candidato));

Um candidato pode estar inscrito em zero ou mais
concursos e um concurso pode ter zero ou mais candidatos
nele inscritos. Para cada concurso, o candidato inscrevese
em um cargo e recebe um número de pontos. É possível
que um candidato fique temporariamente sem cargo definido.
Cada concurso tem uma lista de um ou mais cargos nos
quais os candidatos podem estar inscritos. O atributo
inscritos, na tabela concurso, armazena o número de
inscritos no concurso.

Considere ainda que:
a tabela concurso tenha 5 registros;
a tabela candidato tenha 40.000 registros;
a tabela inscrição tenha 55.000 registros;
haja 2 concursos ainda sem inscrições;
haja 90 candidatos ainda sem inscrições.

A execução do comando SQL


select count(*)
from concurso c
left join
(select i.id_concurso,cd.id_candidato
from inscrição i inner join candidato cd
on i.id_candidato=cd.id_candidato) x
on c.id_concurso=x.id_concurso

resulta no número:

  1. ✂️
  2. ✂️
  3. ✂️
  4. ✂️
  5. ✂️
Utilizamos cookies e tecnologias semelhantes para aprimorar sua experiência de navegação. Política de Privacidade.