Baixe o app para aproveitar ainda mais
Prévia do material em texto
Prova Impressa GABARITO | Avaliação II - Individual (Cod.:828862) Peso da Avaliação 1,50 Prova 62462624 Qtd. de Questões 10 Acertos/Erros 10/0 Nota 10,00 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 I, II e III, apenas. C III, apenas. D I e II, apenas. 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: VOLTAR A+ Alterar modo de visualização 1 2 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 F - F - V - V. B V - F - V - F. C V - V - V - F. D V - V - 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. 3 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 - F - V - F. B V - V - V - V. C V - V - F - F. D F - V - F - V. 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. IV- RIGHT JOIN não é um comando válido em um banco de dados MySQL Server.Assinale a alternativa CORRETA: A I e II, apenas. B II e III, apenas. C I e III, apenas. D I e IV, apenas. 4 Um tipo de dados define o tipo de valor que uma coluna pode conter, sendo estes inteiros, caractere, monetários, temporal (data e hora), binários e assim por diante. Cada coluna em uma tabela deve ter um nome e um tipo de dado. Sobre os tipos de dados, assinale a alternativa CORRETA: Fonte: SQL Data Types for MySQL, SQL Server, and MS Access. Disponível em: https://goo.gl/WV9R7b. Acesso em: 2 abr. 2018. A DECIMAL permite campos numéricos com decimal fixo, mas não permite informar o número máximo de dígitos nos parênteses. B BOOLEAN não é um tipo de dado válido para o banco de dados. Utilizamos sempre um inteiro com zero ou um como Boolean. C CHAR e VARCHAR podem conter apenas letras. Não é permitido armazenar números ou caracteres especiais neste tipo de campo. D DATETIME armazena a combinação de data e hora. Também temos os tipos DATE para armazenar apenas data e TIME para armazenar apenas horas. 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: 5 6 ( ) 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: 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 SELECT retorna 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 e II, apenas. B I, II, III e IV. C I e IV, apenas. D I e III, apenas. 7 A cláusula JOIN é usada para combinar linhas de 2 ou mais tabelas, baseadasnas relações existentes entre elas. Além dos JOINs para combinar tabelas, a linguagem SQL permite funções de agregação que nos ajuda com a análise dos dados, apresentando de forma resumida as informações de uma consulta. Referente à extração de dados utilizando JOINs e funções de agregação, analise o comando SELECT a seguir: SELECT p.id, p.nome, AVG(m.valor_unitario) as media_valor FROM produto p INNER JOIN movimento mON p.id = m.id_produto GROUP BY p.id, p.nome. Com relação ao comando anterior, classifique V para as sentenças verdadeiras e F para as falsas: ( ) A função AVG nos retorna a média dos valores de um grupo. ( ) Esta consulta está agrupando o “id” e “nome” do produto para retornar a média dos valores unitários. ( ) A função AVG nos retorna à soma dos valores de um grupo. ( ) A cláusula INNER JOIN presente no comando de consulta irá retornar todos os produtos, mesmo os que não apresentam um registro correspondente na tabela de movimento. Assinale a alternativa que apresenta a sequência CORRETA: A F - V - V - F. B V - F - V - F. C V - V - F - F. D V - V - V- F. Analise as tabelas a seguir: Tabela: VENDEDOR ID NOME 1 JOSÉ DE ASSIS 2 PEDRO LOBATO 3 MARTA MEIRELES 4 GEISA FONTANA 8 9 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 HB20 / BBB-5555 / PEDRO LOBATO. B HB20 / CCC-3333 / MARTA MEIRELES. C UNO / UUU-0909 / CLEITON PIRES. D S10 / DDD-1010 / GEISA FONTANA. 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 10 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 V - F - V - F. B V - F - F - F. C V - V - F - F. D F - F - V - V. Imprimir
Compartilhar