SóProvas


ID
2756500
Banca
FAURGS
Órgão
BANRISUL
Ano
2018
Provas
Disciplina
Banco de Dados
Assuntos

Uma agência de intercâmbios deseja mapear os interesses de estudantes que pretendem residir em uma dada cidade no exterior, com as famílias disponíveis para acolhê-los. Para isso, definiu as tabelas ESTUDANTES e RESIDENCIAS, descritas abaixo em SQL, contendo respectivamente estudantes com a cidade pretendida e as famílias com cidades de residência.


create table ESTUDANTES

(nome varchar(120) not null primary key,

cidade varchar(30) not null);


create table RESIDENCIAS

(familia varchar(120) not null primary key,

cidade varchar(30) not null);


Considere que estas tabelas possuem como conteúdo as instâncias resultantes dos oito comandos INSERT definidos em SQL abaixo.


insert into ESTUDANTES values ('clara', 'londres');

insert into ESTUDANTES values ('joao', 'londres');

insert into ESTUDANTES values ('magda', 'sidney');

insert into ESTUDANTES values ('pedro', 'paris');


insert into RESIDENCIAS values ('f1', 'londres');

insert into RESIDENCIAS values ('f2', 'paris');

insert into RESIDENCIAS values ('f3', 'toronto');

insert into RESIDENCIAS values ('f4', 'toronto');


A agência decidiu cruzar as informações das duas tabelas para investigar as opções de alojamento disponíveis. Considere as quatro consultas SQL abaixo, que representam opções de cruzamento de dados entre tabelas.


I - select *

from ESTUDANTES left join RESIDENCIAS using(cidade);

II - select *

from ESTUDANTES right join RESIDENCIAS using(cidade);

III - select *

from ESTUDANTES cross join RESIDENCIAS;

IV - select *

from ESTUDANTES inner join RESIDENCIAS using (cidade);


Quantas instâncias são recuperadas por cada comando SELECT acima, na ordem em que os comandos aparecem?

Alternativas
Comentários
  • CROSS JOIN é só fazer o produto cartesiano (multiplicar)