Baixe o app para aproveitar ainda mais
Prévia do material em texto
08/04/24, 02:14 Avaliação II - Individual about:blank 1/7 Prova Impressa GABARITO | Avaliação II - Individual (Cod.:955133) Peso da Avaliação 2,00 Prova 79760823 Qtd. de Questões 10 Acertos/Erros 10/0 Nota 10,00 A cláusula JOIN é usada para combinar linhas de duas ou mais tabelas, baseadas nas relações existentes entre elas. Referente à extração de dados utilizando JOINs, analise os comandos de SELECT a seguir: COMANDO 1: SELECT p.id as 'Id.Produto', p.nome as 'Nome Produto', AVG(m.valor_unitario) as 'Valor Médio' FROM tbl_produtos p INNER JOIN tbl_movimentos m ON p.id = m.id_produto GROUP BY p.id, p.nome; COMANDO 2: SELECT p.id as 'Id.Produto', p.nome as 'Nome Produto', AVG(m.valor_unitario) as 'Valor Médio' FROM tbl_produtos p LEFT JOIN tbl_movimentos m ON p.id = m.id_produto GROUP BY p.id, p.nome; Considerando os comandos apresentados, classifique V para as sentenças verdadeiras e F para as falsas: ( ) A função AVG presente nos dois comandos retorna a média dos valores de um grupo. Neste comando irá agrupar os campos “id” e “nome” do produto para retornar a média dos valores unitários. ( ) O comando 1 apresenta apenas os registros da tabela “tbl_produtos” onde há pelo menos um registro na tabela “tbl_movimentos” correspondente. ( ) O comando 2 apresenta apenas os registros da tabela “tbl_produtos” onde há pelo menos um registro na tabela “tbl_movimentos” correspondente, sendo que a função AVG irá trazer apenas os registros que apresenta valores. ( ) O comando 2 traz todos os produtos da tabela “tbl_produtos”, sendo que os produtos que não apresentam um correspondente na tabela “tbl_movimentos” apresentam valor zero e não nulo. Assinale a alternativa que apresenta a sequência CORRETA: Fonte: w3schools. SQL Joins. Disponível em: https://goo.gl/MmeDJ4. Acesso em: 9 mar. 2023. A F - F - V - V. B V - F - V - F. C V - V - F - F. VOLTAR A+ Alterar modo de visualização 1 08/04/24, 02:14 Avaliação II - Individual about:blank 2/7 D V - F - F - F. Subconsultas são expressões aninhadas de SELECT – FROM – WHERE utilizadas dentro de outra consulta. Este recurso é utilizado para, por exemplo, realizar testes de participação de conjuntos, fazer comparação e determinar a cardinalidade dos conjuntos. Com relação às subconsultas, analise as sentenças a seguir: I- Subconsultas não podem ser utilizadas na cláusula WHERE para limitar valores. II- Não conseguimos utilizar subconsultas dentro da cláusula FROM, sendo que este é o local onde informamos as tabelas do banco de dados. III- Podemos criar consultas de consultas, sendo que o SQL permite que uma subconsulta seja informada dentro da cláusula FROM e seu resultado trabalhado como uma tabela que pode se relacionar com outras tabelas ou até outra subconsulta. IV- Não é possível utilizar subconsultas para trazer colunas dentro da cláusula SELECT, sendo que uma subconsulta pode trazer mais de uma coluna e mais de uma linha como resultado, apresentando erro pelo servidor. Assinale a alternativa CORRETA: A I e IV, apenas. B III, apenas. C I e II, apenas. D I, II e III, apenas. Segue os comandos SQLs para criação das tabelas “cabelereiro” e “agenda”: CREATE TABLE cabelereiro ( Id serial PRIMARY KEY, Nome VARCHAR(50) NOT NULL, Telefone VARCHAR(20) NOT NULL, Idade INTEGER NOT NULL ); CREATE TABLE agenda ( Id serial PRIMARY KEY, Data_agenda TIMESTAMP NOT NULL, Id_cabelereiro INTEGER NOT NULL, Valor MONEY NOT NULL, Pago BOOLEAN NOT NULL, FOREIGN KEY (Id_cabelereiro) REFERENCES cabelereiro (id) ); Com base no exposto, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Para saber quantos cabelereiros têm cadastrados, executamos o comando SELECT COUNT(Id) FROM cabelereiro. ( ) Para saber a idade média dos cabelereiros cadastrados, executamos o comando SELECT AVG(Idade) as idade_media FROM cabelereiro. ( ) Para saber o valor total da agenda por cabelereiro, executamos o comando SELECT a.Id_cabelereiro, c.Nome, SUM(a.valor) as valor_total FROM agenda a INNER JOIN cabelereiro c ON a.Id_cabelereiro = c.id. ( ) Para listar todas as agendas do mês de julho/2018, executamos o comando SELECT * FROM agenda WHERE Data_agenda BETWEEN ‘2018-07-01' and ‘2018-07-31'. Assinale a alternativa que apresenta a sequência CORRETA: A F - F - V - V. 2 3 08/04/24, 02:14 Avaliação II - Individual about:blank 3/7 B V - V - V - V. C V - F - F - V. D V - F - F - F. A Linguagem SQL oferece subconsultas ou “subqueries”, que são um forma de se fazer consulta aninhadas ou de criar uma expressão de SELECT – FROM – WHERE utilizada dentro de outra consulta. Essas subconsultas ajudam a extrair resultados mais precisos e complexos. Com relação às subconsultas, classifique V para as sentenças verdadeiras e F para as falsas: ( ) A linguagem SQL permite criar consultas de consulta, ou seja, que uma subconsulta seja informada dentro da cláusula FROM como uma tabela. ( ) Uma subconsulta informada dentro da cláusula FROM como uma tabela pode também se relacionar com outras tabelas ou até com outra subconsulta. ( ) A linguagem SQL permite utilizar uma subconsulta na cláusula WHERE para limitar os valores de uma consulta. ( ) Podemos criar uma subconsulta para trazer um valor de coluna dentro da cláusula SELECT. Assinale a alternativa que apresenta a sequência CORRETA: Fonte: MATTOS, R. Programação de Banco de Dados. Blog LinhadeCodigo. Disponível em: https://bityli.com/NCJ7zj. Acessado em: 9 mar. 2023. A V - V - F - F. B V - V - V - V. C F - V - F - V. D V - F - V - F. Uma cláusula JOIN em SQL, correspondente a uma operação de junção em álgebra relacional, combina colunas de uma ou mais tabelas em um banco de dados relacional. Ela cria um conjunto que pode ser salvo como uma tabela ou usado da forma como está. A partir do exposto, assinale a alternativa CORRETA que apresenta o tipo de JOIN em que os retornos de todas as linhas dos dois lados do JOIN são selecionadas: Fonte: PHILEMON, D. SQL JOIN: Aprenda INNER, LEFT, RIGHT, FULL e CROSS. Alura. Disponível em: https://www.alura.com.br/artigos/join-em-sql. Acesso em: 17 ago. 2022. A FULL JOIN. B LEFT JOIN. C INNER JOIN. 4 5 08/04/24, 02:14 Avaliação II - Individual about:blank 4/7 D JET JOIN. Segue os comandos SQLs para criação das tabelas “clientes”, "produtos" e “vendas”: Com relação às informações dadas, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Para saber quais foram os clientes que compraram no última dia que houve vendas, executamos a consulta SELECT c.* FROM vendas v INNER JOIN clientes c ON v.Id_cliente = c.Id WHERE v.Data_venda IN (SELECT MAX(data_venda) ultima_venda FROM vendas). ( ) Para saber qual produto apresenta o maior valor total de venda, executamos a consulta SELECT p.* FROM vendas v INNER JOIN produtos p ON v.Id_produto = p.Id WHERE v.Valor_total IN (SELECT MAX(v.Valor_total) maior_venda FROM vendas v). ( ) Para saber os produtos que os clientes compraram, executamos a consulta SELECT * FROM clientes, produtos. ( ) Para somar todos os valores vendidos, executamos a consulta SELECT COUNT(Valor_total) FROM vendas. Assinale a alternativa que apresenta a sequência CORRETA: A V - V - F - F. B F - F - F - V. C V - V - V - V. D F - V - F - V. Analise o comando SQL a seguir: SELECT c.id as id_cliente, c.nome as nome_cliente, SUM(v.valor_total) as valor_venda FROM vendas v INNER JOIN clientes c ON v.id_cliente = c.cliente WHERE v.data_venda BETWEEN ‘2018-09-01' and ‘2018-09-30’ GROUP BY c.id, c.nome; Considerando o exposto, analise as sentenças a seguir: 6 7 08/04/24, 02:14 Avaliação II - Individual about:blank 5/7 I- O comando SELECT retorna o valor de todas as vendas relacionadas aos clientes, agrupando a soma das venda por “id” e “nome” do cliente. II- O comando SELECT retorna o valor de vendas agrupados por clientes e apresenta valor nulo para os clientes que não tiveram vendas no período. III- O comando SELECTretorna apenas as vendas que ocorreram no mês de setembro de 2018. IV- O comando SELECT retorna a média do valor de venda, agrupando o resultado por cliente. Assinale a alternativa que apresenta a sequência CORRETA: A I, II, III e IV. B I e III, apenas. C I e II, apenas. D I e IV, apenas. Analise as tabelas a seguir: Tabela: VENDEDOR ID NOME 1 JOSÉ DE ASSIS 2 PEDRO LOBATO 3 MARTA MEIRELES 4 GEISA FONTANA Tabela: VEICULOS ID DESCRICAO PLACA ID_VENDEDOR 1 GOL AAA-1230 1 2 HB20 BBB-5555 2 3 HB20 CCC-3333 3 4 S10 DDD-1010 4 A partir das tabelas apresentadas e sabendo que na tabela VEICULOS o campo ID_VENDEDOR referencia o campo ID da tabela VENDEDOR, analise o comando SQL a seguir e assinale o resultado que a execução irá retornar: SELECT VEICULOS.DESCRICAO, VEICULOS.PLACA, VENDEDOR.NOME FROM VEICULOS INNER JOIN VENDEDOR ON VEICULOS.ID_VENDEDOR = VENDEDOR.ID WHERE VEICULOS.ID_VENDEDOR = 3; A UNO / UUU-0909 / CLEITON PIRES. B HB20 / BBB-5555 / PEDRO LOBATO. C HB20 / CCC-3333 / MARTA MEIRELES. D S10 / DDD-1010 / GEISA FONTANA. 8 08/04/24, 02:14 Avaliação II - Individual about:blank 6/7 Toda tabela deve apresentar colunas contendo nome e o tipo de dados. Referente ao tipo de dados, este define o tipo de valor que uma coluna pode conter. Uma coluna pode apresentar valores inteiros, monetários, caracteres, temporal, entre outros. Analise a seguir a tabela contendo os dados de movimentação: Considerando o exposto, classifique V para as sentenças verdadeiras e F para as falsas: ( ) A coluna “data_movimento” pode conter valores de data. Para consultar os registros onde as datas estão entre o dia 01/10/2018 e 05/10/2018, precisamos executar o comando SQL: SELECT * FROM movimentos WHERE data_movimento BETWEEN '2018-10-01' AND '2018-10-05'. ( ) A coluna “id_pessoa” apresenta valores inteiros. Para selecionar os movimentos que apresentam o “id_pessoa” igual a 3, precisamos executar o seguinte comando SQL: SELECT * FROM movimentos WHERE id_pessoa = 3. ( ) O comando SELECT * FROM movimentos WHERE id_pessoa = 2 AND data_movimento = '2018-10-02'; retorna apenas o registro da linha 1. ( ) O comando SELECT * FROM movimentos WHERE id_pessoa = 2 AND data_movimento = '2018-10-02'; retorna os registros das linhas 1 e 4. Assinale a alternativa que apresenta a sequência CORRETA: Fonte: W3schools. SQL Data Types for MySQL, SQL Server, and MS Access. Disponível em: http://bit.ly/2zskri3. Acesso em: 9 mar. 2023. A V - V - F - F. B V - V - V - F. C F - F - V - V. D V - F - V - F. Para que seja possível efetuar consultas SQL utilizando mais de uma tabela, é necessário trabalharmos a cláusula FROM do nosso comando SELECT. Para isto, podemos informar as tabelas dentro da cláusula FROM separando elas por vírgula e na cláusula WHERE ligando as tabelas em suas respectivas chaves primárias e estrangeiras. Da mesma forma, a cláusula JOIN é usada para combinar linhas de 2 ou mais tabelas, baseadas nas relações existentes entre elas. Referente à cláusula JOIN, analise as sentenças a seguir: I- INNER JOIN retorna todos os registros correspondentes tanto da direita como da esquerda, trazendo NULO quando o registro correspondente não existir. II- LEFT JOIN retorna todos os registros da esquerda e seus correspondentes da direita. Quando o correspondente da direita não existir, seus registros serão apresentados como NULO por padrão. III- INNER JOIN retorna todos os registros da esquerda, apenas se houver o seu correspondente na direita, ou seja, irá apresentar apenas os registros correspondentes. 9 10 08/04/24, 02:14 Avaliação II - Individual about:blank 7/7 IV- RIGHT JOIN não é um comando válido em um banco de dados MySQL Server. Assinale a alternativa CORRETA: A I e IV, apenas. B II e III, apenas. C I e II, apenas. D I e III, apenas. Imprimir
Compartilhar