Banco de Dados (TI) — Sql
Considere uma empresa multinacional de TI, com sedes em diferentes países do mundo, cujos empregados estão distribuídos por essas sedes, desempenhando diferentes funções. Tal empresa precisa determinar quais empre-gados poderiam preencher posições em diferentes projetos. Com esse propósito, a empresa definiu as tabelas EMPREGADOS, POSICOES e PROJETOS especificadas a seguir em SQL (padrão SQL2 ou superior), e populou-as com instâncias, conforme a sequência de comandos INSERT abaixo.
create table EMPREGADOS(code integer not null primary key,nomee varchar(120) not null,funcao varchar(20) not null,salario numeric(10,2) not null,moeda char(3) not null,pais char(2) not null);
create table PROJETOS(codp integer not null primary key,nomep varchar(120) not null,orcamento numeric(15,2) not null,pais char(2));
create table POSICOES(codp integer,funcao varchar(20),primary key(codp, funcao));
insert into projetos values (1,'p1', 100000, 'BR');insert into projetos values (2, 'p2', 50000, 'US');insert into projetos values (3, 'p3', 7000, 'BR');
insert into empregados values (1, 'e1', 'testador', 5000, 'BRL', 'BR');insert into empregados values (2, 'e2', 'analista', 7000, 'BRL', 'BR');insert into empregados values (4, 'e4', 'DBA', 17000, 'BRL', 'BR');insert into empregados values (5, 'e5', 'testador', 1500, 'USD', 'US');insert into empregados values (6, 'e6', 'programador', 3000, 'USD', 'US');insert into empregados values (7, 'e7', 'programador', 3000, 'EUR', 'FR');
insert into posicoes values (1, 'testador');insert into posicoes values (1, 'analista');insert into posicoes values (1, 'programador');insert into posicoes values (2, 'testador');insert into posicoes values (2, 'analista');insert into posicoes values (3, 'programador');
Considerando o conteúdo das tabelas após esta sequência de comandos INSERT, analise as quatro consultas SQL abaixo (mesmo padrão), que representam diferentes opções de combinações dos dados dessas tabelas.
I - select * from empregados natural join posicoes natural join projetos;II - select * from empregados left join posicoes using (funcao) left join projetos using (codp);III - select * from empregados join posicoes using (funcao) right join projetos using (codp);IV - select * from empregados join posicoes using (funcao) cross join projetos;
Assinale a alternativa que apresenta, na ordem correta (de cima para baixo), o número de instâncias resultante de cada comando SELECT.
Uma questão respondida. E as próximas?
Crie sua conta para acompanhar acertos, erros e receber recomendações no Meu Próximo Passo.
Criar conta grátis