Prévia do material em texto
21/11/2018 EPS http://simulado.estacio.br/alunos/ 1/4 CCT0782_EX_A8_201708100563_V1 BANCO DE DADOS 8a aula Lupa Vídeo PPT MP3 Exercício: CCT0782_EX_A8_201708100563_V1 16/11/2018 15:05:38 (Finalizada) Aluno(a): ARI MOURA RAFAEL JÚNIOR Disciplina: CCT0782 - BANCO DE DADOS 201708100563 1a Questão Em SQL, as funções de grupo opeam sobre conjuntos de linhas. Marque a opção correta: COUNT - retornar o maior valor dentre um grupo de valores. AVG - calcular a média aritmética. SUM - contar o número de linhas. MAX - retornar o menor valor dentre um grupo de valores. MIN - somar um grupo de valores. Explicação: AVG(x) - Retorna o valor médio da coluna x. SUM(x) - Retorna a soma da coluna x. MAX(x) - Retorna o valor máximo da coluna x. MIN(x) - Retorna o valor mínimo da coluna x. COUNT(x) - Retorna o número de valores não nulos da coluna x. 2a Questão Considere a tabela definida pelo comando SQL abaixo. Create table func ( nome varchar(50) not null, salario money not null, cod_depto int null); Considere a consulta SQL abaixo: Select nome, salario from func where salario > 900 and not cod_depto is null order by salario O requisito abaixo que não é atendido por esta consulta é: apresentar o resultado em ordem alfabética. 21/11/2018 EPS http://simulado.estacio.br/alunos/ 2/4 só considerar os registros que apresentem o atributo SALARIO maior que 900; só considerar os registros que apresentem o atributo COD_DEPTO não nulo; listar a coluna NOME da tabela FUNC; listar a coluna SALARIO da tabela FUNC; Gabarito Coment. 3a Questão De acordo com a estrutura das tabelas abaixo, escolha a opção que mostre o nome do empregado, o nome do seu departamento, daquele que trabalha em departamento que possua mais do que cinco empregados e cujo salário seja superior a média salarial do seu departamento, através da linguagem SQL. O banco de dados é composto por 2 tabelas: a tabela EMP que contém dados dos empregados, cuja chave primária é MATRICULA e a tabela DEPT que contém dados dos departamentos, cuja a chave primária é DEPTNO. A coluna GERENTE é chave estrangeira na tabela EMP, referente à própria tabela EMP. A coluna DEPTNO na tabela EMP é chave estrangeira, referente à tabela DEPT. ESTRUTURA DAS TABELAS DO BANCO DE DADOS TABELA EMP Name Null Type ---------------------------------------------- MATRICULA NOT NULL NUMBER(4) NOME_EMP CHAR(10) CARGO CHAR (9) GERENTE NUMBER(4) SALARIO NUMBER(7,2) COMISSAO NUMBER(7,2) DEPTNO NUMBER(2) TABELA DEPT Name Null Type ---------------------------------------------- DEPTNO NOT NULL NUMBER(2) NOME_DEPT CHAR(14) LOCALIZACAO CHAR(13) SELECT E.NOME_EMP, D.NOME_DEP FROM EMP E, DEPT D WHERE E.DEPTNO=D.DEPTNO GROUP BY DEPTNO HAVING COUNT(*)> 5 AND E.SALARIO>(SELECT AVG(SALARIO) FROM EMP WHERE DEPTNO=E.DEPTNO); SELECT E.NOME_EMP, D.NOME_DEP FROM EMP E, DEPT D WHERE E.DEPTNO=D.DEPTNO AND D.DEPTNO IN (SELECT DEPTNO FROM EMP GROUP BY DEPTNO HAVING COUNT(*)> 5) AND E.SALARIO>(SELECT AVG(SALARIO) FROM EMP WHERE DEPTNO=E.DEPTNO); SELECT E.NOME_EMP, D.NOME_DEP FROM EMP E, DEPT D WHERE E.DEPTNO=D.DEPTNO AND D.DEPTNO IN (SELECT DEPTNO FROM EMP GROUP BY DEPTNO HAVING COUNT(*)> 5) AND E.SALARIO>AVG(SALARIO); SELECT E.NOME_EMP, D.NOME_DEP FROM EMP E, DEPT D WHERE E.DEPTNO=D.DEPTNO AND D.DEPTNO IN (SELECT DEPTNO FROM EMP GROUP BY DEPTNO HAVING COUNT(*)> 5) AND E.SALARIO>(SELECT AVG(SALARIO) FROM EMP); SELECT E.NOME_EMP, D.NOME_DEP FROM EMP E, DEPT D WHERE E.DEPTNO=D.DEPTNO AND COUNT(D.DEPTNO) > 5 AND E.SALARIO> (SELECT AVG(SALARIO) FROM EMP WHERE DEPTNO=E.DEPTNO); Gabarito Coment. 21/11/2018 EPS http://simulado.estacio.br/alunos/ 3/4 4a Questão A linguagem padrão utilizada para lidar com banco de dados relacionais é denominada SQL. Dessa forma, considere o código em SQL apresentado a seguir e assinale corretamente o que o comando exibe. SELECT P.DESCRICAO, AVG(V.QUANTIDADE) FROM CLIENTE C, PRODUTO P, VENDA V WHERE C.CODIGO = V.CODIGO_C AND P.CODIGO_P = V.CODIGO_P AND C.CIDADE = 'Natal' AND P.PRECO > 100 GROUP BY P.DESCRICAO Para cada cidade, a média de preço de produtos vendidos a clientes da cidade com valores acima de 100. Para cada cliente, a média de quantidade dos produtos vendidos com valores acima de 100. Para cada produto com preço maior que 100, sua descrição e a media de quantidade dos produtos vendidos a clientes da cidade de 'Natal'. Para a cidade de 'Natal', a média de preço de produtos vendidos a clientes da cidade com valores acima de 100. Para cada produto, a média de preço dos produtos vendidos a clientes da cidade de 'Natal' com valores acima de 100. 5a Questão Dada as tabelas: Pedido(Nr_pedido, Id_cliente, valor_total, data) Cliente(Id_cliente, nome, endereço, bairro, email, telefone), assinale a instrução em SQL que lista os clientes que possuem email do gmail. select nome from cliente where email in *@gmail.com select nome from cliente where email like *@gmail.com select nome from cliente where email like *gmail* select nome from cliente where email like @gmail.com* select nome from cliente where email = ¿*@gmail.com 6a Questão Em nosso Banco de Dados temos a tabela denominada Estoq_Regiao conforme a figura abaixo. Queremos listar o conteúdo dessa tabela em ordem de quantidade (Qtde) de forma descendente. Assinale a alternativa que apresenta a instrução SQL correta: ORDER DESC BY Qtde FROM Estoq_Regiao SELECT Regiao, Qtde, Vl_Unit ORDER BY Qtde DESC SELECT Regiao, Qtde, Vl_Unit FROM Estoq_Regiao SELECT Regiao, Qtde, Vl_Unit FROM Estoq_Regiao ORDER DESC BY Qtde SELECT Regiao, Qtde, Vl_Unit FROM Estoq_Regiao ORDER BY Qtde DESC SELECT Estoq_Regiao INTO Regiao, Qtde, Vl_Unit ORDER DESC BY Qtde 7a Questão - Considere o banco de dados relacional de uma clínica médica, no qual as chaves primárias (incrementada automaticamente) e estrangeiras estão sublinhadas. 21/11/2018 EPS http://simulado.estacio.br/alunos/ 4/4 *Obs. A numeração automática iniciará com 1. PACIENTE (id_pac, nome_pac, sexo, fone_pac) ESPECIALIDADE (id_espec, nome_espec) MEDICO (id_med, nome_med, fone_med, id_espec) CONSULTA (id_cons, dt_cons, vl_cons, id_pac, id_med) Dê o comando correspondente de Selecionar o menor valor de consulta. Select SUM(vl_cons) From CONSULTA Select MIN(vl_cons) From CONSULTA Select vl_cons From CONSULTA Select * From CONSULTA Select MAX(vl_cons) From CONSULTA 8a Questão Sobre o elemento ORDER BY é correto afirmar que: É usado em conjunto com a instrução UPDATE. É usado junto com o SELECT em alguns casos. Sempre é necessário em um JOIN. É necessário em todos os comandos SELECT. Não é quase utilizado, mas pode ser colocado em uma tabela quando ela for criada.