Prévia do material em texto
23/04/2016 BDQ Prova http://simulado.estacio.br/bdq_simulados_linear_view.asp 1/2 Fechar IMPLEMENTAÇÃO DE BANCO DE DADOS Simulado: CCT0083_SM_201201233887 V.1 Aluno(a): MICHEL PEREIRA DA NOBREGA MARINHO Matrícula: 201201233887 Desempenho: 0,5 de 0,5 Data: 19/10/2015 19:33:50 (Finalizada) 1a Questão (Ref.: 201201381470) Pontos: 0,1 / 0,1 Na sintaxe ANSI da junção Interior, na sua forma padrão é: select [colunas] from tabela1 LEFT JOIN tabela2 ON ; select [colunas] from tabela1 INNER JOIN tabela2 ON ; select * from tabela1 LEFT JOIN tabela2; select [colunas] from tabela1 RIGHT JOIN tabela2 ON ; select * from tabela1 CROSS JOIN tabela2; Gabarito Comentado. 2a Questão (Ref.: 201201520275) Pontos: 0,1 / 0,1 Para se obter a quantidade de empregados por cargo devese digitar qual o select abaixo: SELECT DESCRICAO AS CARGO, COUNT(MATRICULA) AS QTDE FROM CARGO C INNER JOIN EMPREGADO E ON CODIGO = CARGO GROUP BY DESCRICAO; SELECT C.DESCRICAO AS CARGO, SUM(E.MATRICULA) AS QTDE FROM CARGO C INNER JOIN EMPREGADO E ON C.CODIGO = E.CARGO GROUP BY C.DESCRICAO; SELECT C.DESCRICAO AS CARGO, COUNT(E.MATRICULA) AS QTDE GROUP BY C.DESCRICAO FROM CARGO C INNER JOIN EMPREGADO E ON C.CODIGO = E.CARGO; SELECT C.DESCRICAO AS CARGO, COUNT(E.MATRICULA) AS QTDE FROM CARGO C INNER JOIN EMPREGADO E GROUP BY C.DESCRICAO; SELECT C.DESCRICAO AS CARGO, COUNT(E.MATRICULA) AS QTDE FROM CARGO C INNER JOIN EMPREGADO E ON C.CODIGO = E.CARGO GROUP BY C.DESCRICAO; Gabarito Comentado. 3a Questão (Ref.: 201201381468) Pontos: 0,1 / 0,1 Em uma junção Cruzada entre três tabelas com respectivamente 10, 8 e 4 resgistros, gerará uma saída com quantos registros? 160 registros 22 registros 220 registros 320 registros 20 registros 23/04/2016 BDQ Prova http://simulado.estacio.br/bdq_simulados_linear_view.asp 2/2 4a Questão (Ref.: 201201934496) Pontos: 0,1 / 0,1 A partir das relações abaixo, responda em SQL: quantos alunos (nota maior ou igual a 6) foram aprovados na disciplina 'Banco de Dados' com o professor 'Rui'? Use inner join. Relações: PROFESSOR (idprofessor, nomeprofessor); LECIONA (idprofessor, iddisciplina); DISCIPLINA (iddisciplina, nomedisciplina); ALUNO (matricula, nomealuno); MATRICULA (inscrição, iddisciplina, matricula, nota, período, ano) SELECT count(*) AS total FROM professor p LEFT JOIN leciona l ON p.idprofessor = l.idprofessor LEFT JOIN disciplina d ON l.iddisciplina = d.iddisciplina LEFT JOIN matricula m ON m.iddisciplina = d.iddisciplina WHERE nomeprofessor = 'Rui' OR nomedisciplina = 'Banco de Dados' SELECT sum(*) AS total FROM professor p, leciona l, matricula m WHERE p.idprofessor = l.idprofessor AND m.iddisciplina = d.iddisciplina AND nomeprofessor = 'Rui' AND nomedisciplina = 'Banco de Dados' SELECT count(*) AS total FROM professor p, leciona l, matricula m WHERE p.idprofessor = l.idprofessor AND m.iddisciplina = d.iddisciplina AND nomeprofessor = 'Rui' AND nomedisciplina = 'Banco de Dados' SELECT count(distinct) AS total FROM professor p RIGHT JOIN leciona l ON p.idprofessor = l.idprofessor RIGHT JOIN disciplina d ON l.iddisciplina = d.iddisciplina RIGHT JOIN matricula m ON m.iddisciplina = d.iddisciplina WHERE nomeprofessor = 'Rui' OR nomedisciplina = 'Banco de Dados' SELECT count(distinct) AS total FROM professor p INNER JOIN leciona l ON p.idprofessor = l.idprofessor INNER JOIN disciplina d ON l.iddisciplina = d.iddisciplina INNER JOIN matricula m ON m.iddisciplina = d.iddisciplina WHERE nomeprofessor = 'Rui' AND nomedisciplina = 'Banco de Dados' 5a Questão (Ref.: 201201286314) Pontos: 0,1 / 0,1 São tipos de JOIN: Apenas o INNER JOIN. SELECT JOIN e INNER JOIN. INNER JOIN, LEFT JOIN e RIGHT JOIN. SELECT JOIN, INNER JOIN, LEFT JOIN e RIGHT JOIN. Apenas o INNER JOIN e o LEFT JOIN. Gabarito Comentado.