Buscar

IMPLEMENTAÇÃO DE BANCO DE DADOS 8

Prévia do material em texto

1a Questão
	
	
	Qual dos operadores de comparação de consultas Multi-Linhas a seguir NÃO é válido?
	
	
	= ANY
	
	< ALL
	
	> ALL
	 
	=
	
	<> ALL
	Respondido em 05/05/2020 17:18:50
	
	
	 2a Questão
	
	
	
	(FCC - 2009 - Análise de Sistemas - Suporte - ADAPTADA)
Uma instrução Select usada na cláusula Where ou Having de outra instrução Select é
	
	
	Um join.
	
	Um crosstab.
	
	Uma visão.
	
	Um índice.
	 
	Uma subconsulta.
	Respondido em 05/05/2020 17:19:02
	
	
	 3a Questão
	
	
	
	Sabendo que a estrutura da tabela é: ID_EMP_MATRICULA, VC_EMP_NOME, NU_EMP_CARGO, NU_EMP_SALARIO, NU_EMP_GRATIFICACAO, NU_EMP_DESCONTO. Pede-se que, exiba a(s) matrícula(s), o(s) nome(s), o(s) salário(s) líquido(s) do(s) maior(es) salário(s) pago(s) aos empregados pela empresa. Qual a alternativa válida:
	
	
	SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, (E.NU_EMP_SALARIO + E.NU_EMP_GRATIFICACAO - E.NU_EMP_DESCONTO) AS LIQUIDO FROM EMPREGADO E INNER JOIN CARGO C ON E.NU_EMP_CARGO = C.ID_CAR_CODIGO WHERE E.NU_EMP_SALARIO IN MAX(E.NU_EMP_SALARIO);
	 
	SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, (E.NU_EMP_SALARIO + E.NU_EMP_GRATIFICACAO - E.NU_EMP_DESCONTO) AS LIQUIDO FROM EMPREGADO E INNER JOIN CARGO C ON E.NU_EMP_CARGO = C.ID_CAR_CODIGO WHERE E.NU_EMP_SALARIO IN (SELECT MAX(X.NU_EMP_SALARIO) FROM EMPREGADO X));
	
	SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, (E.NU_EMP_SALARIO + E.NU_EMP_GRATIFICACAO - E.NU_EMP_DESCONTO) AS LIQUIDO FROM EMPREGADO E INNER JOIN CARGO C ON E.NU_EMP_CARGO = C.ID_CAR_CODIGO WHERE E.NU_EMP_SALARIO > E.NU_EMP_SALARIO;
	
	SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, (E.NU_EMP_SALARIO + E.NU_EMP_GRATIFICACAO - E.NU_EMP_DESCONTO) AS LIQUIDO FROM EMPREGADO E INNER JOIN CARGO C ON E.NU_EMP_CARGO = C.ID_CAR_CODIGO WHERE E.NU_EMP_SALARIO = MAX(E.NU_EMP_SALARIO);
	
	SELECT E.ID_EMP_MATRICULA AS MATRICULA, E.VC_EMP_NOME AS NOME, (E.NU_EMP_SALARIO + E.NU_EMP_GRATIFICACAO - E.NU_EMP_DESCONTO) AS LIQUIDO FROM EMPREGADO E INNER JOIN CARGO C ON E.NU_EMP_CARGO = C.ID_CAR_CODIGO HAVING E.NU_EMP_SALARIO IN (SELECT MAX(X.NU_EMP_SALARIO) FROM EMPREGADO X));
	Respondido em 05/05/2020 17:21:13
	
	
	 4a Questão
	
	
	
	Considere as seguintes tabelas de um banco de dados: - FORNECEDOR { for_codigo, for_nome, for_telefone, for_cidade, est_uf } - ESTADO { est_uf, est_nome } A instrução SQL que recupera os nomes dos estados para os quais não há fornecedores cadastrados é:
	
	 
	SELECT e.est_uf FROM estado AS e WHERE e.est_nome NOT IN ( SELECT f.est_uf FROM fornecedor AS f );
	
	SELECT e.est_nome FROM estado AS e, FROM fornecedor AS f WHERE e.est_uf = f.est_uf;
	 
	SELECT e.est_nome FROM estado AS e WHERE e.est_uf NOT IN ( SELECT f.est_uf FROM fornecedor AS f );
	
	SELECT e.est_nome FROM estado AS e, fornecedor AS f WHERE e.est_nome <> f.est_uf;
	
	SELECT e.est_nome FROM estado AS e WHERE e.est_uf IN ( select f.est_uf FROM fornecedor AS f );
	Respondido em 05/05/2020 17:20:54
	
	
	 5a Questão
	
	
	
	Qual dos operadores de conjunto a seguir, devemos tomar cuidado na hora de colocarmos a ordem das tabelas, pois retorna diferentes resultados ao se inverter a ordem das tabelas?
	
	
	MINUS ALL
	 
	MINUS
	
	UNION ALL
	
	INTERSECT
	
	UNION
	Respondido em 05/05/2020 17:19:48
	
	
	 6a Questão
	
	
	
	(NCE-UFRJ - 2005 - BNDES - Análise de Sistemas - Desenvolvimento)
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);
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, nome varchar(40) not null);
 
A consulta SQL que produz a lista dos candidatos que se inscreveram em todos os concursos é:
 
 
	
	
	select nome
from candidato cd
where
exists
(select * from concurso cc
  where not in
   (select *
     from inscrição i
       where i.id_concurso=cc.id_concurso
          and i.id_candidato=cd.id_candidato))
	
	select nome
from candidato cd
where
exists
    (select *
     from concurso cc
     where
     not exists
        (select *
         from inscrição i
         where i.id_concurso=cc.id_concurso
         and i.id_candidato=cd.id_candidato))
	 
	select nome
from candidato cd
where
not exists
    (select *
     from concurso cc
     where
     exists
        (select *
         from inscrição i
         where i.id_concurso=cc.id_concurso
         and i.id_candidato=cd.id_candidato))
	
	select nome
from candidato cd
where
not exists
    (select *
     from concurso cc
     where
     not exists
        (select *
         from inscrição i
         where i.id_concurso <> cc.id_concurso
         and i.id_candidato <> cd.id_candidato))
	 
	select nome from candidato cd where
not exists
    (select *  from concurso cc  where
     not exists
        (select * from inscrição i  where i.id_concurso=cc.id_concurso 
                                                         and i.id_candidato=cd.id_candidato))
	Respondido em 05/05/2020 17:20:01
	
	
	 7a Questão
	
	
	
	(FGV - 2010 - DETRAN-RN - Assessor Técnico - Administração de Banco de Dados)
Assinale a alternativa correta sobre fragmento de comando a seguir:
(select distinct nome_cliente
from contas)
intersect
(select distinct nome_cliente
from emprestimos)
	
	 
	 Se um cliente tem diversas contas e empréstimos no banco, aparecerá somente uma vez no resultado.
	
	Se um cliente não possui conta mas possui empréstimos no banco, aparecerá no resultado.
	
	Se um cliente tem diversas contas e empréstimos no banco, aparecerá todas as repetições no resultado.
	
	Se um cliente tem diversas contas e empréstimos no banco, não aparecerá no resultado.
	
	Se um cliente possui conta mas não possui empréstimos no banco, aparecerá no resultado.
	Respondido em 05/05/2020 17:20:03
	
	
	 8a Questão
	
	
	
	Dada a instrução SQL: SELECT * FROM VENDEDOR WHERE salario > (SELECT AVG(salario) FROM VENDEDOR); É correto afirmar que
	
	
	se trata de um exemplo de OUTER JOIN.
	
	serão selecionados todos os registros da tabela VENDEDOR cujo conteúdo do campo "salario" seja maior que o número de vendedores cadastrados.
	
	se trata de um exemplo de INNER JOIN.
	 
	serão selecionados todos os registros da tabela VENDEDOR cujo conteúdo do campo "salario" seja maior que a média dos salários de todos os vendedores.
	
	serão selecionados todos os registros da tabela VENDEDOR cujo conteúdo do campo "salario" seja maior que a soma dos salários de todos os vendedores.

Continue navegando